Cal*_*eng 123 virtualenv virtualenvwrapper virtualenv-commands
在virtualenvwrapper中,是否有一种简单的方法可以在我的机器上列出所有virtualenv?
(就像yolk -l列出当前虚拟环境中的所有python包一样?)
澄清:我的env目录中的"ls -la"不计算在内.我正在寻找virtualenv或virtualenvwrapper特定的命令.
Ber*_*ire 167
您可以使用lsvirtualenv,其中有两个选项"long"或"brief":
"long"选项是默认选项,它会搜索此命令周围的任何挂钩并执行它,这需要更多时间.
"简短"只需取出virtualenvs的名字并打印出来.
简要用法:
$ lsvirtualenv -b
Run Code Online (Sandbox Code Playgroud)
长期使用:
$ lsvirtualenv -l
Run Code Online (Sandbox Code Playgroud)
如果你没有任何钩子,或者甚至不知道我在说什么,只需使用"简短".
Cal*_*eng 67
愚蠢的问题.发现有一个
lsvirtualenv
Run Code Online (Sandbox Code Playgroud)
列出所有现有virtualenv的命令.
Mic*_*dya 48
列出所有虚拟环境(如果使用anaconda发行版):
conda info --envs
Run Code Online (Sandbox Code Playgroud)
希望我的回答有助于某人......
Bhu*_*ney 30
如果您正在使用virtualenv或内置于venv上述答案中的Python 3,则可能不起作用。
如果您使用的是 Linux,则只需使用 env 中始终存在locate的activate脚本即可。
locate -b '\activate' | grep "/home"
Run Code Online (Sandbox Code Playgroud)
这将获取您的主目录中存在的所有 Python 虚拟环境。
not*_*bit 13
如果您从 Google 来到这里,试图找到之前创建的virtualenv安装的最终位置,以及为什么没有命令来找到它,那么下面就是真相。
其设计virtualenv有一个根本缺陷,即无法跟踪其自己创建的环境。有人在创建时头脑不太正常,virtualenv没有基本的方法来跟踪已创建的环境,并且肯定不适合大多数 pip 要求需要多千兆字节安装的时代和时代,这当然不应该发生进入~/home.virtualenvs的一些不起眼的子目录。
IMO,创建的 virtualenv目录应该在其中创建$CWD ,并且~/.virtualenv一个名为(在home中)的文件应该跟踪该创建的名称和路径。这是使用Conda/Miniconda3 的一个很好的理由,它似乎确实很好地跟踪了这一点。
正如这里所回答的,跟踪这一点的唯一方法是安装另一个名为 的包virtualenvwrapper。如果不这样做,您将必须自己搜索创建的目录。显然,如果您不记得名称或创建它的位置,您很可能再也找不到您的虚拟环境......
解决 Windows 中这种情况的一种尝试是将以下函数放入您的 powershell 配置文件中:
# wrap virtualenv.exe and write last argument (presumably
# your virtualenv name) to the file: $HOME/.virtualenv.
function ven { if( $args.count -eq 0) {Get-Content ~/.virtualenv } else {virtualenv.exe "$args"; Write-Output ("{0} `t{1}" -f $args[-1],$PWD) | Out-File -Append $HOME/.virtualenv }}
# List what's in the file or the directories under ~/.virtualenvs
function lsven { try {Get-Content ~/.virtualenv } catch {Get-ChildItem ~\.virtualenvs -Directory | Select-Object -Property Name } }
Run Code Online (Sandbox Code Playgroud)
警告:这将写入~\.virtualenv...
如果您使用推荐的 venvlink,那么您可以添加以下 powershell 函数,以列出您可用的虚拟环境。
# List what's in the directories of C:\venvs\
# - installed venvlink, with venvs in C:\venvs\
# - venvlink uses: ~/.venvlinkrc
function lsven { Get-ChildItem -Path C:\venvs\ -Name }
Run Code Online (Sandbox Code Playgroud)
这肯定可以改进以自动检测venvlink根目录。
对于 conda 创建的 env 使用:
conda info --envs # or
conda info -e # or
conda env list
Run Code Online (Sandbox Code Playgroud)
对于 virtualenvwrapper 创建的 env 使用:
lsvirtualenv
Run Code Online (Sandbox Code Playgroud)
列出所有 virtualenv
conda env list
Run Code Online (Sandbox Code Playgroud)
输出:
# conda environments:
#
D:\Programs\Anaconda3
D:\Programs\Anaconda3\envs\notebook
D:\Programs\Anaconda3\envs\snakes
D:\Programs\Anaconda3\envs\snowflakes
base * D:\Programs\Miniconda3
gluon D:\Programs\Miniconda3\envs\gluon
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125500 次 |
| 最近记录: |