直接运行pip install -r requirements.txt常因文件格式不规范、未激活虚拟环境、网络源失效或系统依赖缺失而卡住、报错或装错版本;需确保每行仅一个合法依赖(如requests==2.31.0)、无空行/中文注释、正确使用虚拟环境、配置国内镜像源,并检查系统级编译依赖。

直接运行 pip install -r requirements.txt 就行,但实际执行时经常卡住、报错或装错版本——关键不在命令本身,而在环境和文件内容是否可控。
requirements.txt 文件格式不规范,pip 会静默跳过或报错
常见错误现象:提示 Invalid requirement、ERROR: Could not parse requirement,或者某些包根本没装上。
- 每行只能是一个有效依赖项,不能有空行、中文注释、shell 命令(如
# pip install xxx) - 版本号写法要合法:
requests==2.31.0可以,requests = 2.31.0(带空格)不行 - 避免使用
-e .或-r other.txt这类嵌套引用,除非你明确需要且路径存在 - 推荐先用
pip-check-reqs扫描冗余/缺失项,或用pipreqs . --force重生成干净的文件
没激活虚拟环境就运行,结果装进系统 Python
现象是命令看似成功,但脚本运行时报 ModuleNotFoundError,或者不同项目间依赖冲突。
- 务必先创建并进入虚拟环境:
python -m venv venv && source venv/bin/activate(Linux/macOS)或venv\Scripts\activate(Windows) - 确认当前 Python 解释器路径:
which python或where python,输出应包含venv字样 - 如果用 IDE(如 VS Code),确保终端已切换到该环境,别只在设置里选了解释器却在系统 shell 里执行
pip install
网络慢或镜像源失效,导致安装卡死或超时
尤其在国内,直接走官方源常出现 ReadTimeoutError 或下载一半中断。
- 临时换国内源:加
-i参数,例如pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ - 永久配置(推荐):编辑
pip.conf(Linux/macOS)或pip.ini(Windows),写入:[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ trusted-host = pypi.tuna.tsinghua.edu.cn
- 若含私有包(如公司内网 PyPI),需额外加
--extra-index-url,且确保认证已配置
某些包编译失败,比如 lxml、psycopg2、torch
错误信息通常含 Failed building wheel for xxx、Microsoft Visual C++ 14.0 is required 或 libxml2 not found。
- 优先尝试预编译轮子(wheel):
pip install --only-binary=all -r requirements.txt(部分包可能无 wheel) - Windows 用户装
lxml或pywin32前,建议先pip install wheel setuptools - Linux/macOS 缺系统依赖时,先装开发包:
apt-get install libxml2-dev libxslt-dev python3-dev(Ubuntu)或brew install libxml2 libxslt(macOS) - PyTorch 等大包务必去官网查对应命令,别直接从
requirements.txt装——因为要匹配 CUDA 版本
真正麻烦的不是命令敲不对,而是 pip 在后台默默跳过失败项、用缓存装了旧版本、或者把包装进了错误的 Python site-packages。每次执行前,先 pip list 看环境干净与否,再确认 requirements.txt 是谁生成的、什么时候更新的——这两点比记住命令重要得多。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











