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

WSL Ubuntu下Python虚拟环境requirements.txt安装异常问题

虚拟环境中pip install -r requirements.txt不生效的问题排查与解决

问题描述

在WSL的Ubuntu 22.04环境中,通过pyenv安装Python 3.7.17后,执行以下命令成功创建虚拟环境:

$HOME/.pyenv/versions/3.7.17/bin/python -m venv $HOME/virtualenv/websites/web/myproject

激活虚拟环境后,执行$HOME/virtualenv/websites/web/myproject/bin/python3 -m pip list仅显示pip和setuptools。

但执行$HOME/virtualenv/websites/web/myproject/bin/python3 -m pip install -r ./my/github/repo/requirements.txt时,终端提示"依赖已安装",但再次执行pip list看不到对应包,全局环境也未安装这些依赖。奇怪的是,直接执行$HOME/virtualenv/websites/web/myproject/bin/python3 -m pip install requests==2.xx.x能成功安装并在pip list中显示。

补充信息:

  • requirements.txt包含Django2.2、requests2.10等常规依赖
  • 执行pip install -r时输出示例:Requirements already satisfied: Django==2.2 in ./lib/python3.7/site-packages (from -r ./mygithub/repo/requirements.txt)
  • 直接执行pip install package==x.y可正常安装并生效,但通过pip install -r requirements无任何安装操作

问题原因

从提示的路径./lib/python3.7/site-packages可以判断:pip解析requirements.txt时,错误使用了相对路径,指向的是当前执行命令所在目录下的lib文件夹(大概率是克隆的仓库本地目录),而非虚拟环境的site-packages目录,因此误判依赖已存在。

解决步骤

  • 使用绝对路径指定requirements.txt
    避免相对路径解析错误,直接用绝对路径执行安装命令:

    $HOME/virtualenv/websites/web/myproject/bin/python3 -m pip install -r $HOME/my/github/repo/requirements.txt
    
  • 强制重新安装依赖
    如果路径问题仍存在,添加--force-reinstall参数强制覆盖错误判断:

    $HOME/virtualenv/websites/web/myproject/bin/python3 -m pip install --force-reinstall -r $HOME/my/github/repo/requirements.txt
    
  • 验证虚拟环境激活状态
    激活虚拟环境后,执行以下命令确认pip属于当前虚拟环境:

    which pip
    

    正常输出应为$HOME/virtualenv/websites/web/myproject/bin/pip,若不是则重新激活虚拟环境:

    source $HOME/virtualenv/websites/web/myproject/bin/activate
    

    激活后直接执行pip install -r /path/to/requirements.txt即可,无需再写完整路径。

  • 检查requirements.txt内容
    打开requirements.txt,确认没有./lib/python3.7/site-packages这类本地相对路径依赖,所有依赖均为标准的包名==版本号格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:28:13