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

 更新时间:2026年04月23日 09:25:49   作者:丞网科技  
在Python项目开发中,我们经常需要安装多个依赖库,本文介绍了Python项目中requirements.txt的使用方法,感兴趣的小伙伴可以跟随小编一起学习一下

在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:

  1. Windows系统(你的开发环境,重点记这个):type nul > requirements.txt
  2. 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 开发中,批量安装依赖通常通过一个依赖清单文件来实现,最常见的格式是 requirements.txt。以下是几种主流且高效的方法:

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

1. 生成依赖清单

在项目环境中执行:

pip freeze &gt; requirements.txt

这会将当前环境中所有已安装的包及其精确版本写入文件。

2. 批量安装

在新环境(如虚拟环境、另一台机器)中执行:

pip install -r requirements.txt
  • 会自动逐条安装文件中的包。
  • 若需指定额外索引(如私有仓库),可使用 -i 或 --extra-index-url

3. 使用国内镜像加速

pip install -r requirements.txt -i https://pypi.douban.com/simple

2.进阶批量安装技巧

1. 忽略已安装的包,仅安装缺失的

pip install -r requirements.txt --ignore-installed

通常不需要,因为 pip 默认会跳过已满足的依赖。但有时强制重装可用。

2. 批量升级所有依赖

pip install --upgrade -r requirements.txt

3. 从多个文件安装

pip install -r base.txt -r dev.txt

4. 从 URL 或本地路径安装

requirements.txt 中可直接写 URL 或本地 .whl / .tar.gz 路径:

https://example.com/packages/mypackage-1.0.0-py3-none-any.whl
./local_packages/mypackage-1.2.0.tar.gz

5. 使用 pip-tools 管理精确依赖

pip install pip-tools
  • 编写 requirements.in 写入顶层依赖(不指定版本或宽松版本)。
  • 执行 pip-compile requirements.in 生成锁定的 requirements.txt
  • 批量安装依然使用 pip install -r requirements.txt

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

1. Pipenv

pipenv install   # 会安装 Pipfile 中所有依赖
pipenv install -r requirements.txt  # 从 requirements.txt 导入

2. Poetry

poetry install  # 安装 pyproject.toml 中声明的依赖

3. Conda

conda install --file requirements.txt  # 注意:conda 的依赖文件格式略有不同

或者导出 conda 环境:

conda env export &gt; environment.yml
conda env create -f environment.yml

四、离线批量安装

当目标机器无法联网时:

在能联网的机器上下载所有依赖包及其依赖:

pip download -r requirements.txt -d ./offline_packages

将 offline_packages 目录复制到目标机器。

离线安装:

pip install --no-index --find-links ./offline_packages -r requirements.txt

到此这篇关于Python项目批量安装依赖库的完整指南的文章就介绍到这了,更多相关Python批量安装依赖库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python如何调用外部系统命令

    Python如何调用外部系统命令

    这篇文章主要介绍了Python如何调用外部系统命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Pycharm中新添加或者导入项目文件名红色的解决方法

    Pycharm中新添加或者导入项目文件名红色的解决方法

    Pycharm的代码中添加新的文件夹,发现文件夹下的文件名是红色的,遇到这样的问题如何解决呢,下面小编给大家带来了Pycharm中新添加或者导入项目文件名红色的解决方法,感兴趣的朋友一起看看吧
    2023-12-12
  • Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式

    这篇文章主要介绍了Python实现屏幕截图的两种方式及对这两者的特点和用法进行详细解释,感兴趣的朋友一起看看
    2018-02-02
  • PyTorch torch.unique() 基础与实战应用指南

    PyTorch torch.unique() 基础与实战应用指南

    torch.unique() 是PyTorch中的一个去重函数,用于返回张量中所有的唯一元素(unique elements),本文将带你深入了解 torch.unique() 的用法、参数、返回值以及实际应用场景,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • 一文详解如何从根本上优雅地解决VSCode中的Python模块导入问题

    一文详解如何从根本上优雅地解决VSCode中的Python模块导入问题

    有时你可能会遇到这种问题,明明用pip安装好了一个python模块,但在VScode中总是显示错误,这篇文章主要给大家介绍了关于如何从根本上优雅地解决VSCode中的Python模块导入问题的相关资料,需要的朋友可以参考下
    2024-07-07
  • 10个杀手级应用的Python自动化脚本

    10个杀手级应用的Python自动化脚本

    重复的任务总是耗费时间和枯燥的。如果逐一裁剪100张照片,或者做诸如Fetching APIs、纠正拼写和语法等任务,所有这些都需要大量的时间。为什么不把它们自动化呢?本文详细介绍了10个Python自动化脚本,感兴趣的小伙伴可以阅读一下
    2023-03-03
  • Django静态文件加载失败解决方案

    Django静态文件加载失败解决方案

    这篇文章主要介绍了Django静态文件加载失败解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python闭包装饰器综合案例解析

    Python闭包装饰器综合案例解析

    文章主要介绍了Python中的闭包和装饰器,闭包用于在全局作用域中访问局部变量,而装饰器则用于给函数增加额外功能,而无需改变现有代码和调用方式,文章还解释了如何使用PyMySQL进行数据库编程,包括安装、使用和安全连接操作,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • python实现模拟按键,自动翻页看u17漫画

    python实现模拟按键,自动翻页看u17漫画

    这篇文章主要介绍了python实现模拟按键,自动翻页看u17漫画,十分简单实用,需要的朋友可以参考下
    2015-03-03
  • Pandas字符串操作的各种方法及速度测试

    Pandas字符串操作的各种方法及速度测试

    这篇文章主要为大家介绍了Pandas字符串操作的各种方法及速度测试,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论