Python-批量安装依赖
还在逐个
pip install?一文掌握批量安装、环境导出、镜像加速,让依赖管理变简单!
🤔 为什么需要requirements.txt?
在Python项目开发中,我们经常需要安装大量依赖库(比如PyQt5、OpenCV、pymodbus等)。逐个执行pip install命令不仅繁琐,还容易遗漏、出现版本冲突。
最高效的解决方案:创建requirements.txt文件,写入所有需要的库名(可指定版本),然后一条命令批量安装全部依赖。
本文全程实操,从创建文件→编写清单→批量安装→导出环境,新手也能快速上手。
📄 一、什么是requirements.txt?
requirements.txt是Python项目的「依赖清单文件」,本质是一个纯文本文件,核心作用是:
| 作用 | 说明 |
|---|---|
| 📋记录依赖 | 列出项目所需的所有第三方库及版本 |
| 🚀一键安装 | 通过pip install -r requirements.txt批量安装 |
| 🔄环境复现 | 团队成员/部署服务器可快速搭建相同环境 |
| 📦版本锁定 | 指定精确版本,避免兼容性问题 |
重点:文件名建议固定为
requirements.txt(Python生态通用约定,pip工具可直接识别),后缀必须是.txt,注意不要写成requirements.txt.txt(需开启电脑文件后缀显示)。
✍️ 二、实操步骤:创建+编写requirements.txt
全程以「PyCharm项目」为例,三种创建方法任选一种,新手优先选方法1。
方法1:手动创建(最直观)
适配场景:新手、不熟悉终端命令,直接通过PyCharm图形界面操作,零门槛。
在PyCharm中,右键点击项目根目录→
New→File输入文件名
requirements.txt,按回车确认双击打开文件,开始编写依赖清单
💡补充提示:如果找不到项目根目录,可通过PyCharm左侧「Project」面板查看,确保文件和核心代码同级,避免后续执行命令时找不到文件。
方法2:终端快速创建
适配场景:习惯用终端操作,快速创建空文件,无需图形界面点击。
# Windows/Linux/macOS 通用 touch requirements.txt或者使用:
# 创建并同时写入初始内容 echo "# Python项目依赖清单" > requirements.txt方法3:使用pip freeze导出(已有环境时最便捷)
适配场景:你已经手动安装好了所有需要的库,想快速生成依赖清单。
pip freeze > requirements.txt执行后,会自动生成requirements.txt,写入当前环境所有已安装的第三方库及对应版本。
📝 三、编写requirements.txt内容(语法超简单)
语法规则
每行写一个库名
可按需指定版本(推荐指定,避免版本兼容问题)
#开头的行是注释,不会被执行(可用于标注库的用途)
📌 写法1:基础版(只写库名,安装最新稳定版)
适合:对库版本无特殊要求,只想快速安装,简洁高效。
# Python上位机依赖清单 # 界面开发(PyQt5) PyQt5 pyqt5-tools # PLC通信相关(Modbus + S7协议) pymodbus python-snap7 # 相机对接 + 视觉处理 opencv-python # 辅助工具 numpy # 保存数据到Excel openpyxl # 串口通信 pyserial📌 写法2:进阶版(指定版本,推荐项目使用)
推荐理由:Python库版本更新快,不同版本可能存在兼容性问题(比如PyQt5高版本和pyqt5-tools不匹配)。指定版本能确保环境一致性。
格式:库名==版本号(==前后无空格)
# 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通信 python-snap7==1.4.1 # S7协议,对接西门子PLC # 相机对接 + 视觉处理 opencv-python==4.8.1.78 # 稳定版,避免取流卡顿 # 辅助工具 numpy==1.24.3 # 适配OpenCV 4.8.1 openpyxl==3.1.2 # 操作Excel pyserial==3.5 # 串口通信📌 写法3:版本范围指定(了解即可)
| 操作符 | 示例 | 说明 |
|---|---|---|
== | numpy==1.24.3 | 精确匹配指定版本 |
>= | numpy>=1.20.0 | 安装大于等于指定版本 |
<= | numpy<=1.25.0 | 安装小于等于指定版本 |
~= | numpy~=1.24.0 | 兼容版本(允许补丁版本更新) |
🚀 四、关键步骤:批量安装所有依赖
编写完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/ # 中科大镜像源(备用) pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/补充:镜像源只是加速下载,安装的库和官方源完全一致,无需担心版本问题。
4. 永久配置镜像源(一劳永逸)
如果不想每次安装都加-i参数,可以永久配置清华镜像源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn配置后,每次pip install自动走镜像源,无需再加-i参数。
🔧 五、实用拓展命令(必记,提升效率)
1. 导出当前环境的所有库到requirements.txt
场景:手动安装好所有库后,想快速生成requirements.txt用于备份或分享。
pip freeze > requirements.txt执行后,会自动覆盖(或生成)requirements.txt,写入当前环境所有已安装的Python库及对应版本。
⚠️注意:
pip freeze会导出所有已安装包(包括间接依赖),可能包含一些不需要的库。如需只导出项目直接依赖,可使用pipreqs工具:
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/4. 查看已安装包列表
pip list5. 查看过期包
pip list --outdated📊 总结:核心命令速查表
| 操作 | 命令 |
|---|---|
| 批量安装 | pip install -r requirements.txt |
| 镜像加速安装 | pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ |
| 导出依赖清单 | pip freeze > requirements.txt |
| 批量卸载 | pip uninstall -r requirements.txt -y |
| 查看已安装包 | pip list |
| 永久配置镜像源 | pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |
📢 如果觉得有用,欢迎点赞、收藏、转发!更多Python开发技巧,持续更新中~
