我们从事的项目很可能有许多需要安装的依赖项。这些依赖关系促进了项目中的许多任务。然而尤其是在处理多个项目时,我们需要很小心。
就像任何其他技术一样,软件包或编程语言也在不断改进。因此正在推出新的版本。
不同的项目可能需要不同版本的包或软件。例如,我们可能有一个项目需要Python2.7,另一个项目需要Python3.6。随着项目和依赖项数量的增加,很难跟踪和处理这些差异。
克服这个问题的一种方法是使用虚拟环境。它们可以被视为软件包的边界框。我们可以在虚拟环境中开发一个项目,并安装特定于该项目的所有依赖项。我们在虚拟环境中拥有的东西不受机器全局范围变化的影响。
Python有许多虚拟环境工具,如pipenv、virtualenv、venv等。在本文中,我们将讨论一些使用virtualenv和pipenv的示例,以熟悉虚拟环境的概念及其工作方式。
让我们从virtualenv开始。首先使用python包安装程序(pip)从终端安装它。
$ pip install virtualenv
创建一个示例项目文件作为工作目录。
$ mkdir demoproject
$ cd demoproject
现在在demoproject目录中。我们将使用以下命令创建一个虚拟环境。
$ virtualenv venv_demo
它被创造出来了。我们可以运行ls命令来查看当前工作目录中的文件。
$ ls
venv_demo
下一步是激活虚拟环境。
$ source venv_demo/bin/activate
一旦虚拟环境被激活,其名称将显示在终端中,如下所示:
现在可以安装软件包了。
$ python -m pip install pandas
我们现在在虚拟环境中安装了pandas。freeze命令显示已安装软件包的列表。
$ python -m pip freeze
numpy==1.19.4
pandas==1.1.5
python-dateutil==2.8.1
pytz==2020.5
six