在Python中列出虚拟环境
虚拟环境是一个我们可以安装库、包、脚本和 Python 解释器的环境。如果你的项目需要不同版本的不同库或 Python 解释器,你可以为每个项目创建单独的虚拟环境。
这些虚拟环境与其他已开发的虚拟环境隔离。所以与库、包的版本有关的错误就不会发生。
例如,我们假设你正在做一个叫做Project1
的 Python 项目。它需要NumPy
库的版本A
。
当在Project1
上工作时,你想启动Project2
。但是它需要B
版本的NumPy
。
因此,如果我们将NumPy
升级/降级到B
版本,Project1
可能会出现一些错误,因为NumPy
需要的版本已经改变。
为了克服这个问题,我们可以创建两个虚拟环境,并在其中分别安装这些版本。有几种方法来创建虚拟环境,但本文将讨论列出虚拟环境的方法。
在Python中列出虚拟环境
如果我们有虚拟环境,并且我们想列出所有的虚拟环境,我们可以使用几个命令来列出它们。没有必要激活虚拟环境来列出它。
一旦创建,我们就可以把它们列下来。在这篇文章中,我们讨论三种方法。
使用lsvirtualenv
命令
我们可以使用lsvirtualenv
命令来列出现有的虚拟环境。为了使用这个命令,我们需要安装virtualenvwrapper
。
virtualenvwrapper
是一个工具,我们可以将虚拟环境包装/装箱。它几乎像一个容器。
如果没有安装这个工具,系统将无法识别这个命令。
为了列出虚拟环境,我们需要创建它们。因此,让我们使用virtualenv
工具创建一个虚拟环境。
virtualenv
是一个工具,我们可以在这里创建相互隔离的Python虚拟环境。有不同的方法来创建虚拟环境,但让我们使用virtualenv
工具来实现这个方法。
安装virtualenv
工具 (只有在你还没有安装它的时候):
$ pip install virtualenv
创建一个虚拟环境:
语法:
virtualenv <environment_name>
现在让我们创建vEnv1
作为我们的虚拟环境。
你已经成功创建了一个虚拟环境。你可以检查你的虚拟环境文件夹的路径,该文件夹包含主要的可执行文件,以运行一个Python项目。
安装virtualenvwrapper
工具 (只有在你没有安装它的情况下):
$ pip install virtualenvwrapper
列出虚拟环境:
$ lsvirtualenv
现在我们可以看到我们创建的虚拟环境了。
输出:
有时你会得到一个信息,表明File not found
或一个空的空间。你应该把WORKON_HOME
路径改为你当前的虚拟环境目录。
WORKON_HOME
的默认路径是Users%USERNAME%Envs
。所以当我们执行lsvirtualenv
命令时,它将检查路径以列出虚拟环境。
如果你在其他地方创建了你的虚拟环境,你就不能得到这个列表,你就需要把这个路径设置为WORKON_HOME
变量。
- 在你的系统中进入
Environment variables
。 - 在
System variables
,点击New
按钮。 - 将
WORKON_HOME
作为变量,将你的虚拟环境根的路径作为值。 - 点击
OK
。
现在,如果你尝试使用lsvirtualenv
命令,你可以看到一个虚拟环境的列表,从你创建它们的地方。
使用Conda
命令
Conda
是Anaconda自带的一个环境管理系统,Anaconda是一个用于数据科学计算和包管理的Python发行版。 有几个命令来创建、删除和列出虚拟环境。Conda
如果我们使用conda
制作我们的虚拟环境,我们应该使用conda
命令列出它们。
让我们使用conda
创建两个虚拟环境。
语法:
conda create --name <environment_name>
创建两个虚拟环境:
$ conda create --name vEnv2
$ conda create --name vEnv3
现在我们可以列出它们。Conda
提供了三个命令来列出虚拟环境。任何一个都会给你同样的结果。
$ conda env list
$ conda info --envs
$ conda info -e
让我们使用第一个命令,conda env list
。结果是,它将显示我们创建的虚拟环境,如下图。
使用workon
命令
我们需要安装virtualenv
工具来使用这个命令。正如前面提到的,它可以用来创建虚拟环境,而workon
命令是与之相伴的。
我们使用workon
命令来激活一个虚拟环境。另外,使用这个命令不加参数可以获得一个虚拟环境的列表。
由于我们先前使用virtualenv
命令创建了一个虚拟环境,让我们尝试使用workon
命令来列出它。
$ workon
现在我们可以看到我们创建的虚拟环境了。
总结
这篇文章讨论了一个虚拟环境和三种在 Python 中列出虚拟环境的方法。你可以使用其他的方法,但是开发者经常使用讨论的技术。