Python实现批量安装依赖的方法详解

 更新时间:2026年02月05日 09:08:14   作者:牛马王工  
在Python项目开发中,我们经常需要安装多个依赖库,逐个执行pip install命令不仅繁琐,还容易遗漏、出现版本兼容问题,下面我们就来看看如何进行批量安装吧

在Python项目开发中,我们经常需要安装多个依赖库(比如PyQt5、OpenCV等)。逐个执行pip install命令不仅繁琐,还容易遗漏、出现版本兼容问题。

最高效的解决方案是:创建一个requirements.txt文本文件,手动写入所有需要的库名(可指定版本),然后通过一条命令批量安装所有依赖。本文全程实操,新手也能快速上手。

本文核心:从零教你「创建文件→编写库清单→批量安装→实用拓展」,全程无冗余,直接套用即可。

一、什么是requirements.txt?

requirements.txt 是Python项目的「依赖清单文件」,本质是一个纯文本文件,核心作用是:

  • 统一项目依赖,避免“我本地能运行,别人运行报错”的问题;
  • 手动编写需要的库,批量安装/卸载,提升开发效率;
  • 方便项目备份、共享,他人拿到文件后,一键就能配置好和你一致的开发环境。

重点:文件名建议固定为requirements.txt(Python生态通用约定,pip工具可直接识别),后缀必须是.txt,不能是.txt.txt(需开启电脑文件后缀显示)。

二、实操步骤:创建+编写requirements.txt

全程以「PyCharm项目」为例(适配你的上位机开发环境),两种创建方法,任选一种即可,新手优先选方法1。

方法1:手动创建(最直观,新手首选)

适配场景:新手、不熟悉终端命令,直接通过PyCharm图形界面操作,零门槛。

  • 打开你的PyCharm项目,定位到「项目根目录」(和你的.py代码文件同级,比如和相机对接、PLC通信的核心代码放在一起);
  • 右键点击项目根目录 → 选择「New」→ 点击「Text File」;
  • 弹出文件名输入框,输入 requirements.txt → 按下Enter确认(注意:无中文、无空格);
  • 双击打开创建好的requirements.txt文件,即可开始手动编写需要的库清单。

补充提示:如果找不到项目根目录,可通过PyCharm左侧「Project」面板查看,确保文件和核心代码同级,避免后续执行命令时找不到文件。

方法2:终端快速创建(熟悉终端者首选)

适配场景:习惯用终端操作,快速创建空文件,无需图形界面点击。

打开PyCharm底部的「Terminal」终端(默认在项目根目录,若不在,输入cd 项目路径 切换);

输入对应系统的命令,创建空的requirements.txt:

  • Windows系统(你的开发环境,重点记这个):type nul > requirements.txt
  • Mac/Linux系统(了解即可):touch requirements.txt

按下Enter,终端无报错,项目根目录会自动生成requirements.txt文件,双击打开即可编写。

核心:编写requirements.txt内容(语法超简单)

语法规则:每行写一个库名,可按需指定版本(推荐指定,避免版本兼容问题),# 开头的行是注释,不会被执行(可用于标注库的用途,方便后续维护)。

写法1:基础版(只写库名,安装最新稳定版)

适合:对库版本无特殊要求,只想快速安装,简洁高效。

# 注释:Python上位机依赖清单
# 界面开发(PyQt5)
PyQt5 pyqt5-tools
# PLC通信相关(Modbus + S7协议,对接PLCSIM)
pymodbus python-snap7
# 相机对接 + 视觉处理
opencv-python
# 对接海康工业相机(官方SDK封装)
hikvision-api
# 辅助工具
numpy
# 保存检测数据到Excel(上位机刚需)
openpyxl
# 串口通信(备用,对接串口PLC/传感器)
pyserial

写法2:进阶版(指定版本,推荐项目使用)

推荐理由:Python库版本更新快,不同版本可能存在兼容性问题(比如PyQt5高版本和pyqt5-tools不匹配、python-snap7版本过高导致无法连接PLCSIM),指定版本能确保环境一致性。

格式:库名==版本号(==前后无空格),以下是适配你项目的稳定版本组合,可直接复制使用。

# Python上位机依赖清单(指定版本,稳定兼容)
# 界面开发(PyQt5稳定版本,避免报错)
PyQt5==5.15.9
pyqt5-tools==5.15.9.3.0.1
# PLC通信(适配PLCSIM Advanced 5.0)
pymodbus==2.5.3
# Modbus TCP通信,稳定无bug
python-snap7==1.4.1
# S7协议,对接西门子PLC/PLCSIM
opencv-python==4.8.1.78
# 稳定版,避免取流卡顿
hikvision-api==0.3.5
# 海康相机SDK封装,适配MVS SDK
# 辅助工具(版本兼容,无冗余)
numpy==1.24.3
# 适配OpenCV 4.8.1 openpyxl==3.1.2
# 操作Excel,支持批量保存数据
pyserial==3.5
# 串口通信,备用

写法3:其他常用补充(了解即可)

  • 指定版本范围:比如 numpy>=1.20.0,<1.25.0(安装1.20.0到1.25.0之间的版本);
  • 从指定地址安装:比如 git+https://github.com/xxx/xxx.git(适用于安装第三方开源库的开发版);
  • 卸载时使用:和安装语法一致,后续会讲批量卸载命令。

三、关键步骤:批量安装所有依赖

编写完requirements.txt后,无需逐个执行pip install,一条命令就能批量安装所有库,步骤如下:

1. 打开终端,切换到项目根目录

打开PyCharm的Terminal终端(底部),默认已经在项目根目录;若不在,输入以下命令切换(替换为你的项目路径):

cd D:\PyCharmProjects\PLC_Camera_UpperComputer # 示例路径,替换成你自己的

2. 核心安装命令(必记)

基础命令(从官方PyPI源安装):

pip install -r requirements.txt

执行后,pip会自动读取requirements.txt中的所有库,逐个下载、安装,终端会显示安装进度,全部显示Successfully installed即安装完成。

3. 优化命令(国内镜像源,解决安装慢、超时)

重点避坑:国内网络访问Python官方PyPI源(国外服务器)速度较慢,经常出现超时、安装失败的问题,推荐使用 国内镜像源 加速,命令如下(阿里云镜像源,速度最快,优先选):

# 阿里云镜像源(推荐,适配国内网络) 
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ 
# 清华镜像源(备选,稳定) 
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

补充:镜像源只是加速下载,安装的库和官方源完全一致,无需担心版本问题。

四、实用拓展命令(必记,提升效率)

除了批量安装,还有3个常用命令,适配项目备份、环境清理,结合你的上位机项目非常实用。

1. 导出当前环境的所有库到requirements.txt

场景:你已经手动安装好了所有需要的库,想快速生成requirements.txt(用于备份、共享给他人),执行以下命令:

pip freeze > requirements.txt

执行后,会自动覆盖(或生成)requirements.txt,写入当前环境已安装的所有Python库及对应版本,无需手动编写。

2. 批量卸载所有依赖(慎用)

场景:清理开发环境、重新配置依赖,执行以下命令,会批量卸载requirements.txt中的所有库:

pip uninstall -r requirements.txt -y

说明:-y 参数表示“自动确认卸载”,无需逐个输入y确认,提升效率;慎用,避免误删环境。

3. 安装时指定requirements.txt路径

场景:requirements.txt不在当前终端目录下(比如放在桌面),无需切换目录,直接指定文件路径即可:

pip install -r D:\Desktop\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

到此这篇关于Python实现批量安装依赖的方法详解的文章就介绍到这了,更多相关Python安装依赖内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用正则表达式检测密码强度源码分享

    python使用正则表达式检测密码强度源码分享

    客户系统升级,要求用户密码符合一定的规则,即:包含大小写字母、数字、符号,长度不小于8,于是先用python写了个简单的测试程序:
    2014-06-06
  • python绘制分组条形图的示例代码

    python绘制分组条形图的示例代码

    本文主要介绍了如何使用python绘制分组条形图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • python encode和decode的妙用

    python encode和decode的妙用

    做网络编程的时候,经常需要把接收到的数据用16进制的方式打印出来,方便查看。今天发现在Python下有这样一个简单的方法。
    2009-09-09
  • pandas 数据结构之Series的使用方法

    pandas 数据结构之Series的使用方法

    这篇文章主要介绍了pandas 数据结构之Series的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • python简单文本处理的方法

    python简单文本处理的方法

    这篇文章主要介绍了python简单文本处理的方法,涉及Python针对文本文件及字符串操作的相关技巧,需要的朋友可以参考下
    2015-07-07
  • 简单介绍Python中的struct模块

    简单介绍Python中的struct模块

    这篇文章主要介绍了Python中的struct模块,代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • 实例详解Python的进程,线程和协程

    实例详解Python的进程,线程和协程

    这篇文章主要为大家详细介绍了Python进程,线程和协程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python中的异常处理相关语句基础学习笔记

    Python中的异常处理相关语句基础学习笔记

    这里我们简单整理一下Python中的异常处理相关语句基础学习笔记,包括try...except与assert等基本语句的用法讲解:
    2016-07-07
  • 一文详解Python中常用的初等函数(内置函数)

    一文详解Python中常用的初等函数(内置函数)

    初等函数是由基本初等函数经过有限次的四则运算和复合运算所得到的函数,这篇文章主要介绍了Python中常用初等函数(内置函数)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • 关于yolov8训练的一些改动及注意事项

    关于yolov8训练的一些改动及注意事项

    Yolo是一种目标检测算法,目标检测的任务是从图片中找出物体并给出其类别和位置,这篇文章主要给大家介绍了关于yolov8训练的一些改动及注意事项,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02

最新评论