pip install -r requirements.txt 失败主因是路径错误,需确保requirements.txt在当前目录;其次检查虚拟环境是否激活、网络是否可用(可换清华源)、文件内容是否规范。

直接运行 pip install -r requirements.txt 就能装,但失败很常见——真正卡住你的往往不是命令本身,而是路径、环境、网络或文件内容。
requirements.txt 文件必须在当前目录下
命令不会自动找文件,它只认当前工作目录里的 requirements.txt。如果你看到 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt',大概率是没进对目录。
- 先用
ls(macOS/Linux)或dir(Windows)确认文件是否存在 - 用
cd /path/to/your/project切到正确目录再执行命令 - 不支持相对路径写法如
pip install -r ./deps/req.txt—— 要么把文件挪到当前目录,要么用完整路径:pip install -r /full/path/to/requirements.txt
安装失败时优先看错误信息里带 ERROR: 的那一行
pip 报错通常不是全盘失败,而是某个包出问题后继续尝试下一个;但最后一行的 ERROR: 往往指向根本原因。
- 出现
Could not find a version that satisfies the requirement xxx:包名拼错、版本号不存在(比如写了requests==999.0.0),或该包已弃用 - 出现
ConnectionError或超时:默认源(pypi.org)连不上,加清华源试试:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ - 出现
ModuleNotFoundError后续报错:说明前面某个包没装成功,但 pip 没中断,得回头检查日志里第一个失败项
虚拟环境没激活,包就装进系统 Python 了
没激活虚拟环境就跑 pip install -r requirements.txt,所有包会装进全局 Python 环境,污染系统,也容易和别的项目冲突。
- Linux/macOS:先
source venv/bin/activate - Windows:先
venv\Scripts\activate.bat(cmd)或venv\Scripts\Activate.ps1(PowerShell) - 激活后命令行提示符通常会显示环境名,比如
(venv) $;此时再运行安装命令 - 不确定是否激活?运行
which python(macOS/Linux)或where python(Windows),路径里含venv才对
想装到指定文件夹(比如离线部署用),得用 -t 参数
-t(即 --target)能把包解压到你指定的目录,但不会自动让 Python 找得到它们。
- 命令是:
pip install -r requirements.txt -t ./libs,会把所有包装进当前目录下的./libs - 装完后,Python 默认不搜索这个目录,代码里
import numpy仍会报错 - 要用的话,得在代码开头加:
import sys; sys.path.insert(0, "./libs"),或者启动前设环境变量PYTHONPATH=./libs - 注意:
-t不处理包的 C 扩展编译,如果包含二进制依赖(如numpy),离线环境下可能缺编译工具链,直接装会失败
真正麻烦的从来不是命令敲不对,而是装完了 import 还报错——这时候要倒回去确认环境是否激活、路径是否加入 sys.path、以及那个看似无关的包有没有悄悄拖垮整个依赖树。











