如何在某个virtualenv中列出已安装的软件包?

时间:2013-04-12 02:04:32

标签: virtualenv pip

你可以cdYOUR_ENV/lib/pythonxx/site-packages/看看,但有什么方便的方法吗?

pip freeze列出所有已安装的软件包,包括系统环境。

9 个答案:

答案 0 :(得分:41)

您只能列出virtualenv中的包裹 pip freeze --local 要么 pip list --local。 无论您是否在virtualenv中显示全局网站包,此选项都有效。

请注意,限制virtualenv不使用全局网站包并不是问题的答案,因为问题在于如何分隔两个列表,而不是如何限制我们的工作流以适应限制工具。

致@gvalkov的评论here。参看还this issue

答案 1 :(得分:20)

在virtualenv中调用pip命令应该列出隔离环境中可见/可用的包。确保使用默认情况下使用选项--no-site-packages的virtualenv的最新版本。这样使用virtualenv的目的是创建一个python环境,而无需访问系统python中安装的软件包。

接下来,请确保使用virtualenv(pip)中提供的YOUR_ENV/bin/pip命令。或者只是激活virtualenv(source YOUR_ENV/bin/activate)作为调用python解释器或pip的正确命令的便捷方式

~/Projects$ virtualenv --version
1.9.1

~/Projects$ virtualenv -p /usr/bin/python2.7 demoenv2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in demoenv2.7/bin/python2.7
Also creating executable in demoenv2.7/bin/python
Installing setuptools............................done.
Installing pip...............done.

~/Projects$ cd demoenv2.7/
~/Projects/demoenv2.7$ bin/pip freeze
wsgiref==0.1.2

~/Projects/demoenv2.7$ bin/pip install commandlineapp
Downloading/unpacking commandlineapp
Downloading CommandLineApp-3.0.7.tar.gz (142kB): 142kB downloaded
Running setup.py egg_info for package commandlineapp
Installing collected packages: commandlineapp
Running setup.py install for commandlineapp
Successfully installed commandlineapp
Cleaning up...

~/Projects/demoenv2.7$ bin/pip freeze
CommandLineApp==3.0.7
wsgiref==0.1.2

在我的回答中有什么奇怪的是,在virtualenv中可以看到包'wsgiref'。它来自我的系统python。目前我不知道为什么,但也许你的系统有所不同。

答案 2 :(得分:11)

列出virtualenv中已安装的软件包

第1步:

  

workon envname

第2步:

  

pip冻结

它将显示所有已安装的软件包以及已安装的软件包和版本

答案 3 :(得分:5)

如果您对virtualenv感到有些困惑,那么您可能无法了解如何将Ioannis和Sascha的答案中的重要提示结合起来。即这是您需要的基本命令:

/YOUR_ENV/bin/pip freeze --local

可以在其他地方轻松使用。例如。这是一个方便而完整的答案,适合于通过virtualenvwrapper在您设置的所有环境中安装所有本地软件包:

cd ${WORKON_HOME:-~/.virtualenvs}
for dir in *; do [ -d $dir ] && $dir/bin/pip freeze --local >  /tmp/$dir.fl; done
more /tmp/*.fl

答案 4 :(得分:2)

在Python3中

pip list

空venv是

Package    Version
---------- ------- 
pip        19.2.3 
setuptools 41.2.0

开始新环境

python3 -m venv your_foldername_here

激活

cd your_foldername_here
source bin/activate

停用

deactivate

您还可以站在文件夹中并为虚拟环境命名/文件夹(python3 -m venv name_of_venv)。

Venv是3.3之后随Python一起提供的virtualenv的子集。

答案 5 :(得分:1)

如果您使用的是pip 19.0.3python 3.7.4。然后在您的virtualenv中使用pip list命令。它将显示所有已安装的软件包以及相应的版本。

答案 6 :(得分:0)

在我的情况下,烧瓶版本只能看到,所以我不得不去 C:\ Users \\ AppData \ Local \ flask \ venv \ Scripts> pip freeze --local

答案 7 :(得分:0)

为什么不尝试 点列表

记住我在python版本3.7.3上使用的是pip版本19.1

答案 8 :(得分:0)

.venv/bin/pip freeze用bash为我工作。