虚拟环境是一个独立的环境,我们可以在其中安装库、包、脚本和Python解释器。如果你的项目需要不同版本的库或Python解释器,你可以为每个项目创建单独的虚拟环境。
这些虚拟环境相互隔离,不会受到其他正在开发的虚拟环境的影响。因此,与库、包版本相关的错误将不会发生。
例如,假设你正在开发一个名为Project1的Python项目,它需要NumPy库的A版本。
在开发Project1时,你想要开始Project2。但它需要NumPy的B版本。
因此,如果我们将NumPy升级/降级为B版本,Project1可能会出现一些错误,因为所需的NumPy版本已经发生了变化。
为了解决这个问题,我们可以创建两个虚拟环境,并在它们中分别安装这些版本。有几种方法可以创建虚拟环境,但本文将讨论列出虚拟环境的方法。
如果我们有虚拟环境,并且想要列出所有虚拟环境,可以使用几个命令来列出它们。不需要激活虚拟环境即可列出它。
创建后,我们可以将它们列出来。 在本文中,我们讨论了三种方法。
我们可以使用 lsvirtualenv
命令来列出现有的虚拟环境。要使用此命令,我们需要安装virtualenvwrapper。
virtualenvwrapper
是一个可以包装/管理虚拟环境的工具,类似于容器。
如果没有安装这个工具,系统将无法识别该命令。
要列出虚拟环境,我们需要先创建它们。所以,让我们使用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变量。
现在,如果你尝试lsvirtualenv命令,你可以看到从你创建它们的位置列出的虚拟环境。
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
。结果将显示我们创建的虚拟环境,如下所示:
我们需要安装virtualenv工具才能使用该命令。如前所述,它可以用来创建虚拟环境,并且workon命令随之提供。
我们使用workon命令来激活虚拟环境。同时,使用该命令而不带参数可以获取虚拟环境的列表。
由于之前使用virtualenv命令创建了一个虚拟环境,让我们尝试使用workon命令列出它。
$ workon
现在我们可以看到我们创建的虚拟环境。
本文讨论了虚拟环境以及在Python中列出虚拟环境的三种方法。你可以使用其他方法,但开发者通常使用上述方法。