如何在某个virtualenv中列出已安装的软件包? [英] How can I make a list of installed packages in a certain virtualenv?

查看:195
本文介绍了如何在某个virtualenv中列出已安装的软件包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

You can cd to YOUR_ENV/lib/pythonxx/site-packages/ and have a look, but is there any convenient ways?

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

pip freeze list all the packages installed including the system environment's.

推荐答案

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

Calling pip command inside a virtualenv should list the packages visible/available in the isolated environment. Make sure to use a recent version of virtualenv that uses option --no-site-packages by default. This way the purpose of using virtualenv is to create a python environment without access to packages installed in system python.

接下来,请确保您使用virtualenv(YOUR_ENV/bin/pip)内提供的pip命令.或者只是激活virtualenv(源代码YOUR_ENV/bin/activate),以方便的方式为python解释器或pip调用正确的命令

Next, make sure you use pip command provided inside the virtualenv (YOUR_ENV/bin/pip). Or just activate the virtualenv (source YOUR_ENV/bin/activate) as a convenient way to call the proper commands for python interpreter or 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

我的回答中有一个奇怪的地方是,包'wsgiref'在virtualenv内部可见.它来自我的系统python.目前,我不知道为什么,但是在您的系统上可能有所不同.

What's strange in my answer is that package 'wsgiref' is visible inside the virtualenv. Its from my system python. Currently I do not know why, but maybe it is different on your system.

这篇关于如何在某个virtualenv中列出已安装的软件包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆