You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何激活venv后pip install -r requirements.txt仍安装到全局环境?

问题原因及解决办法

核心原因

你执行python3.9 -m pip install -r requirements.txt时,调用的是全局的Python3.9版本,而非虚拟环境内的版本。

虚拟环境激活后,PATH会优先指向.venv/bin,但这个目录下默认只有python、python3(软链接到python),没有python3.9可执行文件。系统找不到虚拟环境内的python3.9,就会去全局路径/usr/bin下找,此时调用的pip是全局Python3.9的pip,包自然被安装到全局环境。

至于你觉得python3.9 -m pip install pandas装到了虚拟环境,大概率是误判——比如虚拟环境中之前已存在pandas,或者你用虚拟环境的pip list查看时混淆了结果,实际这个命令同样会把包装到全局。

验证步骤

  1. 激活虚拟环境后执行:
    which python3.9
    
    若输出为/usr/bin/python3.9,则确认调用的是全局版本。
  2. 换用虚拟环境的python命令执行安装:
    python -m pip install -r requirements.txt
    
    此时包会正常安装到虚拟环境。

解决方法

  • 激活虚拟环境后,直接使用pip或python命令,无需指定python3.9:
    pip install -r requirements.txt
    
    或:
    python -m pip install -r requirements.txt
    
  • 若必须使用python3.9命令,可在虚拟环境目录下创建软链接:
    ln -s .venv/bin/python .venv/bin/python3.9
    
    之后执行python3.9 -m pip就会调用虚拟环境内的版本。

内容的提问来源于stack exchange,提问作者Sudonym

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:13:32