【发布时间】: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 pip或pyenv which pip(如果使用pyenv)。我虽然那个包列表是pip freezecommand :/ -
@Aiven:这显示了全局 pip(对于错误版本的 Python)。
-
另外(至少在 *nixes 上),虚拟环境不可重定位,因此一旦移动它们,就认为它们已损坏 - 这是因为所有 shebang 都包含在创建 venv 时设置的硬编码路径。
标签: python pip python-venv