86

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

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

4

10 回答 10

82

您只能在virtualenvby pip freeze --local 或 中列出包pip list --local。无论您是否在virtualenv.

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

感谢@gvalkov在此处的评论。参照。也是这个问题

于 2014-07-09T18:16:12.497 回答
33

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

接下来,确保使用pipvirtualenv ( 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

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

于 2013-04-12T10:34:37.347 回答
17

列出 virtualenv 中已安装的包

第1步:

工作环境名称

第2步:

点冻结

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

于 2014-04-22T15:47:27.277 回答
14

在 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 是 Python 3.3 之后附带的 virtualenv 的一个子集。

于 2020-08-04T08:25:46.297 回答
7

如果您仍然有点困惑,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
于 2016-05-09T23:48:53.413 回答
5

你为什么不试试pip list

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

于 2019-06-04T06:14:52.767 回答
2

如果您正在使用pip 19.0.3python 3.7.4。然后pip list在你的 virtualenv 中执行命令。它将显示所有已安装的软件包以及各自的版本。

于 2019-09-09T07:57:06.547 回答
1

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

于 2018-05-21T17:20:49.087 回答
1

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

于 2020-10-15T05:03:09.907 回答
0

仅使用 python3 可执行文件,来自:

吉特巴什:

winpty my_venv_dir/bin/python -m pip freeze

Linux:

my_venv_dir/bin/python -m pip freeze
于 2022-03-01T21:16:08.027 回答