如何列出 Linux 中的所有 python 虚拟环境? [复制]
Posted
技术标签:
【中文标题】如何列出 Linux 中的所有 python 虚拟环境? [复制]【英文标题】:How to list all python virtual environments in Linux? [duplicate] 【发布时间】:2017-02-06 07:03:57 【问题描述】:我在我的 Debian 操作系统中配置了多个 Python 环境。有没有办法列出 Linux 中所有配置的环境?
这与下面评论中指出的可能重复的不同。我的意思是仅使用virtualenv
创建的虚拟环境。
【问题讨论】:
whereis python
给你一个不错的清单
感谢您的回答。但是,这给了我所有不同安装版本的 python,但不是虚拟环境。
您所指的重复问题中的命令lsvirtualenv -l
给了我command not found
。
定义“python 环境”是什么意思。您是指仅使用virtualenv
创建的虚拟环境吗?这些和其他python安装?不同的python安装(但没有虚拟环境)? AFAIK virtualenv
not 不会跟踪您创建的所有环境,因此没有内置方法可以做您想做的事情。 lsvirtualenv
命令是 virtualenvwrapper
程序的一部分,它为 virtualenv 添加了一些功能。您必须使用 find
并查找由 virtualenv 创建的特定文件。
是的,我的意思是只使用virtualenv
创建的虚拟环境。
【参考方案1】:
如果只使用低级的virtualenv ...directory
创建一个virtualenv,那么在某处只有某个目录包含该特定环境。您只能通过在 $HOME
目录(或您可能用于创建 virtualenvs 的任何其他目录列表)上运行 find
来“列出”这些以查找 python 安装。希望遵循一些约定,例如将它们全部存储在~/virtualenvs
中。 (另见Where should virtualenvs be created?)
如果使用virtualenvwrapper
,那么如上所述,使用命令lsvirtualenv
列出使用mkvirtualenv
创建的环境。默认情况下,它们都在~/.virtualenvs
中。见https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
如果使用conda
,您可以使用conda info --envs
或conda env list
列出通过conda create --name my_env [...]
创建的虚拟环境。见https://conda.io/docs/using/envs.html#list-all-environments
【讨论】:
天哪!谁在没有基本方法来跟踪已创建环境的情况下创建了virtualenv
?有谁不希望将所有 gigabyte 创建的 pip 环境保存在 home 的 .virtualenv
子目录下?恕我直言,创建的 virtualenv directory 应该在 $CWD
中创建,并且一个名为 ~/.virtualenvs
的文件(在 home 中)应该跟踪该创建的名称和路径。
@not2qubit 我认为有时做相反的事情是有益的:将所有虚拟环境放在一个公共文件夹中,并且只是一个指向项目文件夹中虚拟环境的链接。这样,如果您有自动备份(例如 Windows 上的 Dropbox 或 OneDrive),则不会不必要地备份虚拟环境文件。这样也可以重用虚拟环境。我什至创建了一个简单的包来使这更容易,到目前为止我很喜欢这种安排。
@np8 是的,你的venvlink 看起来很有前途。以上是关于如何列出 Linux 中的所有 python 虚拟环境? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
我正在通过 python 对 azure 进行身份验证以列出我所有的虚拟机,但我收到了这个错误