5.3 KiB
Python 中的虚拟环境——易于安装和设置
原文:https://www.askpython.com/python/examples/virtual-environments-in-python
我们来谈谈一个对于提高代码兼容性非常重要的话题 Python 中的虚拟环境。你可能听说过开发人员谈论一些代码如何在他们的系统上工作,但是,在不同的系统上似乎不工作?
众所周知的**“它在我的系统上工作”**。
为什么我们会面临代码兼容性问题?
为什么一段代码能在开发者的系统上工作?答案很简单*,因为他们拥有的模块与代码*兼容。
现在,问题是为什么它在你的系统上不起作用?答案也很简单,因为一些模块与代码不兼容。
我这么说是什么意思?你看,很多时候,一旦一个模块被更新,一些以前适用的现有特性就不能用了。
在这些情况下,当模块被安装在另一个系统中时,更新的版本不能处理给定的代码,即使它是相同的模块。
一个很好的例子是,在 Python OpenCV 中发现了一些现有特性的专利,而在下一版本的模块中对这些特性的支持被禁用了。
专利现在已经到期,是 GSoC 期间做的。
因此,为了解决这个问题,我们使用 Python 中的虚拟环境。
Python 中的虚拟环境是什么?
虚拟环境是我们构建的环境,目的是为我们的特定目的创造一个优化的环境。我们安装并使用我们项目所必需的模块,并且只用于我们的项目。
这使得我们的环境变得更轻,重量更轻。
设置虚拟环境
让我们用 Python 制作我们自己的虚拟环境,在本文中是为数据科学设计的,
1.安装虚拟环境模块
随着 Python 3.3 的发布,虚拟环境模块venv已经默认添加到 Python 标准库中。因此,我们不需要安装任何模块就可以在虚拟环境中工作。
如果您使用的是 Python 3.3 之前的版本,您应该考虑安装 virtualenv 模块。
虽然 Anaconda 默认为我们提供了这样一个环境,以及创建虚拟环境的包,但是我们将使用 Python 为本文提供的默认虚拟环境模块。
2.创建虚拟环境
我们使用一个简单的命令在 Python 中创建虚拟环境。
您可以指定要安装环境的目录,或者只提供要安装在当前目录中的目录名。
# Windows
## python -m venv path\to\nameofenvironment
python -m venv D:\Pyth-Grip\testenv
# macOS and Linux
python3 -m venv testenv
安装后,我们现在可以开始激活虚拟环境。
3.激活虚拟环境
上面这些简单的命令,允许我们创建一个虚拟环境。在访问这个环境时,您会发现文件结构与此类似,
testenv
|-Include
|-Lib
|-pyvenv.cfg
|-Scripts
在这个目录中,pyvenv.cfg是基于系统中现有 Python 版本的特定环境的配置。
Scripts目录是我们下一步应该进入的地方,因为它包含允许我们激活虚拟环境的activate命令。
在这个目录之外,我们需要遵循这些说明来激活虚拟环境,
cd testenv # the name of your environment
cd Scripts
activate
在这个命令序列之后,您会注意到当环境的名称在圆括号()中时,环境是活动的。
在我的例子中,命令提示符以这样的方式显示激活的环境,
Activating the virtual environment.
4.设置虚拟环境
现在,我们有了自己的环境,可以专门用于数据科学。
但是,等等!该模块尚未安装,因为这只是一个没有我们需要的任何模块的新环境。
让我们安装一些 Python 模块来使用,
# Installing the required version of pandas
pip install pandas==1.1.3
# Installing the latest version of scikit-learn
pip install scikit-learn
正如您所看到的,我们可以在这个虚拟环境中准确地安装我们想要的模块版本,从而保持我们的基础环境干净、轻便。
5.停用环境
一旦我们完成了特定环境的工作,并希望使用另一个或使用基本环境,知道如何退出当前的虚拟环境是很重要的。
这可以通过一个简单的命令来完成。
deactivate
而且,就是这样!
结论
您现在可以开始在特定的环境中工作了,这不会与您的项目冲突!
您可以随意查看我们的其他模块,这些模块可以安装在您的虚拟环境中以获得出色的开发体验, Pandas 、 Numpy 、 Psutil 和 Scipy 。
