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

虚拟环境中pip freeze列出全局包,如何仅显示虚拟环境内包?

解决虚拟环境中pip freeze显示全局包的问题

我之前也碰到过一模一样的困扰!这大概率是因为激活虚拟环境后,你的pip命令还是指向了全局版本,而非虚拟环境内部的pip。给你几个实用的解决办法:

  • 直接调用虚拟环境内pip的绝对路径
    这是最稳妥的方式,绕开环境变量的问题。

    • Windows系统:
      venv\Scripts\pip freeze
      
    • Linux/macOS系统:
      venv/bin/pip freeze
      

    这样输出的肯定是当前虚拟环境里的包列表。

  • 确认虚拟环境是否真的激活成功
    先看命令行提示符最前面有没有(venv)的前缀,如果没有,说明激活操作没生效。另外可以用命令验证pip的路径:

    • Windows下运行:where pip,检查输出的第一条路径是不是venv\Scripts\pip.exe
    • Linux/macOS下运行:which pip,检查输出路径是不是venv/bin/pip
      如果路径不对,Windows用户可以试试以管理员身份打开PowerShell,先执行Set-ExecutionPolicy RemoteSigned允许执行脚本,再重新运行venv/Scripts/activate激活环境。
  • 重新创建虚拟环境
    有时候虚拟环境在创建过程中可能出现损坏,删掉现有的venv文件夹,重新执行:

    python -m venv venv
    

    然后重新激活环境,再尝试pip freeze。

  • 确保创建虚拟环境用的是目标Python版本
    如果你的系统里装了多个Python版本(比如Python3.6、Python3.9),要确保用对应版本的Python来创建虚拟环境。比如想基于Python3.6创建,就执行:

    python3.6 -m venv venv
    

    激活后再用pip freeze,就能对应上这个版本虚拟环境里的包了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:35:56