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

查看:74
本文介绍了如何在某个 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 (source 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' 在 vi​​rtualenv 中是可见的.它来自我的系统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天全站免登陆