【问题标题】:How do I list my pip-installed packages inside a venv?如何在 venv 中列出我的 pip 安装包?
【发布时间】:2018-06-17 23:07:33
【问题描述】:

我已经成功激活了一个虚拟环境并在那里安装了包,但是当我尝试使用pip list 列出这些包时,我得到的是全局包列表,而不是激活的 venv 中的包。

$ source ./venv/bin/activate
[venv] pip list
# ... global 2.7 packages are listed
[venv] pip3 list
# ... global 3 packages are listed

但是

$ cd venv/lib/pythonXX/site-packages
$ ls
# ...venv's installed packages are listed

即使python -version 正确列出了 venv 的 Python(而不是任何全局版本)。

如何在 venv 中列出我的 pip 安装包?

【问题讨论】:

  • pip freeze 应该这样做,如果我理解正确的话。
  • pip list --local
  • 查看which pippyenv which pip(如果使用pyenv)。我虽然那个包列表是pip freeze command :/
  • @Aiven:这显示了全局 pip(对于错误版本的 Python)。
  • 另外(至少在 *nixes 上),虚拟环境不可重定位,因此一旦移动它们,就认为它们已损坏 - 这是因为所有 shebang 都包含在创建 venv 时设置的硬编码路径。

标签: python pip python-venv


【解决方案1】:

我通过为我的项目创建一个新的 venv 并切换到它解决了这个问题。然后,当我将 venv 和“pip list”激活到其中时,我只列出了 venv 包。我认为当您重命名项目文件夹或 venv 文件夹或移动这些文件可能是为了重新组织您的项目结构时会发生此问题。

【讨论】:

    猜你喜欢
    • 2020-01-12
    • 2019-06-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多