你可以用这四个步骤在Python conda中创建一个虚拟环境。
在这篇文章中,你将了解到 Python 中的一个重要概念:虚拟环境。
为什么是虚拟环境?
程序会随着时间的推移而不断发展。如果你是一个富有成效的编码者,你会尽早和经常地发送你的代码。随着时间的推移,你会修复出现的错误,并整合用户对你代码的反馈。
而这是所有编码员都在做的事情。假设你正在编程一个 加密货币交易机器人,使用一个库来连接加密货币交易所的API(这样你的机器人就可以买卖货币)。这种库的一个例子是ccxt。你的代码需要ccxt(1.1版)的确切API命令。假设你在你的电脑上安装了ccxt 库(1.1版)。
几年后,ccxt 库发生了变化,例如,可能有一个新的版本3.3,你决定是时候创建一个新的机器人了。你在你的电脑上安装了新的3.3版本。但突然间,奇怪的事情开始发生了。你的旧机器人仍然作为后台进程运行(使用ccxt 1.1版),但新机器人无法启动(使用ccxt 3.3版)。
如果没有虚拟环境,你将不得不决定安装ccxt 1.1或3.3版本。然后,你将不得不使用旧版本重写所有的旧代码。
但是如果库的开发者删除了你的应用程序的一个关键特性呢?
幸运的是,Python 为你提供了虚拟环境。一个虚拟环境允许你为不同的项目定义和安装不同的依赖关系。这正是你所需要的。你将为第一个需要1.1版本的机器人安装环境A,为第二个需要3.3版本的机器人安装环境B。这就是了!
使用虚拟环境,你可以为不同的 Python 项目分别独立地安装不同的包 (甚至不同版本的包)。这些安装是全局不可见的。这样做的好处是,你不会在你的计算机上的全局Python 安装中加入无数可能相互冲突的包。
如何创建虚拟环境?
有许多不同的工具来创建虚拟环境 (virtualenv vspipenv vsvenv)。但如果你理解了前面几段介绍的概念性想法,就很容易理解和使用所有这些工具。
就我个人而言,我使用的是Anaconda 发行版,它是一个流行的Python发行版,是专门为科学计算设计的免费开源Python发行版。特别是,Anaconda使软件包管理变得超级简单。
在Anaconda发行版中,你可以使用"conda" 工具来安装新的Python软件包。conda 命令结合了软件包管理器 pip 的功能和虚拟环境工具的功能,如venv 。粗略的说,你可以在你的电脑上全局安装新的软件包,也可以在虚拟环境中为每个项目单独安装。
1.检查Conda是否已安装
安装完Anaconda发行版后,你可以简单地 在你的shell或命令行中运行以下命令来检查conda是否已经安装。
conda -V
2.创建虚拟环境
然后,你通过导航到你的项目文件夹并执行以下命令来创建你的虚拟环境。
conda create -n yourproject python=3.7.3 anaconda
只需将假值 "yourproject"替换为你的项目名称,将Python版本替换为你的Python版本。要检查你的Python版本,只需在你的shell中运行 "python -V" 命令。
现在,等待你的虚拟环境被创建。你应该在你的文件路径中看到一个新的文件夹 "yourproject" 。
3.激活你的虚拟环境
在这一点上,你已经创建了虚拟环境,但它还没有被激活。因此,只需在你的shell中执行以下命令。
source activate yourproject
4.在虚拟环境中安装软件包
现在,你可以专门为这个环境安装新的软件包。
conda install -n yourproject scikit-learn
在这个例子中,我安装了机器学习的scikit-learn包。如果你没有指定 "-n yourproject" 选项,它将在全局范围内安装该包,而不是在虚拟环境中。
现在,你可以简单地在你的shell中运行 "python" 并使用已安装的包 "import sklearn" 。
5.停用虚拟环境
让我们来停用虚拟环境。
source deactivate
测试: 如果你现在打开一个新的python shell,你还能导入sklearn库吗?
如果你之前没有全局性地安装sklearn库,答案是否定的!scikit-learn库只在虚拟环境中被安装过。但是你已经用前面的命令停用了虚拟环境。
所以,你看,在使用Anaconda安装时,使用虚拟环境是非常直接的。