商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Python项目批量安装依赖库的完整指南

Python项目批量安装依赖库的完整指南

  发布于2026-07-14 阅读(0)

扫一扫,手机访问

一、什么是requirements.txt?

说白了,`requirements.txt` 就是Python项目的「依赖清单」。它本质上就是一个纯文本文件,但它的作用可不小: * **统一依赖**:彻底告别“我本地能运行,别人运行就报错”的尴尬局面。 * **批量操作**:一条命令搞定所有依赖的安装或卸载,效率翻倍。 * **环境还原**:别人拿到你的项目,执行一条命令就能复刻出和你一模一样的开发环境,省时省力。 **有个小细节**:文件名最好就叫 `requirements.txt`(这是Python生态里的通用约定),并且确保文件后缀是 `.txt`,而不是 `.txt.txt`。不放心的话,可以先把电脑文件的后缀显示功能打开确认一下。

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

下面以PyCharm项目为例(这和我们的上位机开发场景很吻合),介绍两种创建方法。新手朋友建议直接选第一种,非常直观。

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

这种方式不需要你记任何终端命令,直接在PyCharm的图形界面里操作就行。 1. 打开你的PyCharm项目,定位到 **项目根目录**(就是放`.py`主文件的那个目录)。 2. 在项目根目录上右键点击,选择 `New` -> `Text File`。 3. 在弹出的文件名输入框中,输入 `requirements.txt`,然后按下Enter键确认。 4. 文件创建成功后,双击打开它,就可以开始编辑你需要的库清单了。 **小提示**:如果你不太确定项目根目录在哪,可以看PyCharm左侧的「Project」面板。一定要确保这个文件和你的核心代码在同一个层级,不然后续执行命令时可能找不到它。

方法2:终端快速创建(老手常用)

如果你习惯使用终端,这个方法会更直接。 1. 打开PyCharm底部的「Terminal」终端(通常默认就在项目根目录,如果不在,可以用 `cd` 命令切换到正确路径)。 2. 根据你的操作系统,输入对应的命令来创建一个空的 `requirements.txt` 文件: * **Windows系统**:`type nul > requirements.txt` * **Mac/Linux系统**:`touch requirements.txt` 3. 执行命令后,项目根目录下就会自动生成一个空的 `requirements.txt` 文件,双击打开它即可。

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

语法规则其实很简单:**每一行写一个库名**。为了安全起见,最好指定版本号,避免因为版本兼容问题而出错。以 `#` 开头的行是注释,不会被执行,可以用来说明每个库的用途,方便日后维护。 **写法1:基础版(只写库名,安装最新稳定版)** 这种方式适合对库版本没有特殊要求、只想快速安装的场景,非常简洁。 ```bash # 注释: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。 格式就是:`库名==版本号`(`==`两边不要加空格)。 ```bash # 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终端,它通常默认就在项目根目录。如果不在,输入以下命令切换到你自己的项目路径: ```bash cd D:\PyCharmProjects\PLC_Camera_UpperComputer # 示例路径,替换成你自己的 ```

2. 核心安装命令

基础命令(从官方PyPI源安装): ```bash pip install -r requirements.txt ``` 执行后,pip会自动读取 `requirements.txt` 中的所有库,逐个下载并安装。你只需要在终端里看到最终显示 `Successfully installed`,就代表全部安装成功了。

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

有个常见的坑:国内访问Python的官方PyPI源(国外服务器)经常速度慢、甚至超时。强烈推荐使用 **国内镜像源** 来加速,比如阿里云镜像源(速度最快,优先选): ```bash # 阿里云镜像源(推荐,适配国内网络) 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/ ``` 镜像源只是加速了下载,你安装的库内容和官方源完全一样,不用担心版本问题。

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

除了批量安装,还有三个非常实用的命令,特别适合我们的项目备份和环境清理场景。

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

如果你已经在环境中手动安装好了所有库,想快速生成一份 `requirements.txt` 清单作为备份或分享给他人,这个命令非常好用: ```bash pip freeze > requirements.txt ``` 执行后,它会自动覆盖(或生成)一个 `requirements.txt`,里面会列出当前环境下所有已安装的Python库及其精确版本。

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

当你想彻底清理开发环境、重新配置依赖时,可以用这个命令,它能批量卸载 `requirements.txt` 里列出的所有库: ```bash pip uninstall -r requirements.txt -y ``` 加上 `-y` 参数,会自动确认卸载,省去逐个确认的麻烦。**请一定谨慎使用,避免误删重要环境。**

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

如果 `requirements.txt` 文件不在当前终端目录下(比如放在桌面),你不需要切换路径,直接指定文件的完整路径即可: ```bash pip install -r D:\Desktop\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ ```

六、方法补充

除了 `requirements.txt`,还有一些其他的主流批量安装和管理依赖的方法,这里也一并整理给你。

1. 标准方法:pip install -r requirements.txt

这是最通用的方式,核心流程和前面讲的一致: * 在项目环境中执行 `pip freeze > requirements.txt` 生成清单。 * 在新环境中执行 `pip install -r requirements.txt` 一键安装。 * 你同样可以用 `-i` 参数指定国内镜像。

2. 进阶批量安装技巧

* **忽略已安装的包,仅安装缺失的**:`pip install -r requirements.txt --ignore-installed`。通常情况下pip默认会跳过已满足的依赖,这个命令在强制重装时有用。 * **批量升级所有依赖**:`pip install --upgrade -r requirements.txt`。 * **从多个文件安装**:`pip install -r base.txt -r dev.txt`。可以管理不同环境的依赖,比如基础依赖和开发依赖分开。 * **从URL或本地路径安装**:`requirements.txt` 里可以直接写网络链接或本地的 `.whl` / `.tar.gz` 文件路径。 * **使用pip-tools管理精确依赖**:安装 `pip-tools` 后,可以编写一个 `requirements.in` 文件(只写顶层依赖),然后执行 `pip-compile requirements.in` 来自动生成一个锁定版本的 `requirements.txt`,保证环境一致性。

3. 环境管理器中的批量安装

* **Pipenv**:非常流行的现代管理工具,使用 `pipenv install` 安装 `Pipfile` 中的依赖,或用 `pipenv install -r requirements.txt` 导入旧清单。 * **Poetry**:另一个新锐工具,使用 `poetry install` 安装 `pyproject.toml` 中声明的依赖。 * **Conda**:在大数据和科学计算领域很常用。可以用 `conda install --file requirements_custom.txt` 安装自定义文件(格式略有不同),或通过 `conda env export > environment.yml` 和 `conda env create -f environment.yml` 来导出和创建完整环境。

四、离线批量安装

如果你的目标机器完全无法联网,可以先用一台能联网的机器准备好所有离线包: ```bash pip download -r requirements.txt -d ./offline_packages ``` 这个命令会把 `requirements.txt` 中所有库以及它们的依赖都下载到 `offline_packages` 这个文件夹里。 然后,把这个文件夹复制到目标机器上,执行离线安装命令: ```bash pip install --no-index --find-links ./offline_packages -r requirements.txt ``` `--no-index` 告诉pip不要访问网络源,`--find-links` 指定本地包存放的路径。
本文转载于:https://www.jb51.net/python/362679p39.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注