了解如何使用Python虚拟环境

无论您是经验丰富的Python开发人员,还是刚刚起步的人,学习如何设置虚拟环境对于任何Python项目都是必不可少的。加入我的行列,因为我涵盖了您需要了解的有关Python虚拟环境的所有知识。

确保您已阅读我们理解Python编程并非无用的原因。

什么是Python虚拟环境?

虚拟环境是一种为不同项目运行不同版本的Python的方法。与虚拟机的工作方式类似,Python虚拟环境允许您安装具有特定模块和每个版本依赖性的多个Python版本。这些项目彼此独立,因此您在某个项目中安装的任何模块都将无法在其他项目中访问。

这看起来很费力,但是值得。假设您通常在Python 2.7.x中工作,但您想尝试3.x。没问题,只需创建一个新项目并安装依赖项即可。遗留项目的Python 2.4.x呢?是的,很简单。这些项目都不会互相干扰,也不会涉及您的操作系统使用的Python版本。

开始设置

哪个版本的Python都没关系您正在使用。如果您使用的是Mac,那么您已经安装了Python。如果您使用的是Windows,则需要下载并安装Python。

您将需要安装pip。这是Python的软件包管理器,它随附Python 2.7.9或更高版本。所有这些步骤都将通过命令行完成,因此您可能需要阅读Windows命令行指南。

使用虚拟环境需要两个软件包。打开一个新终端并安装 virtualenv 软件包:

pip install virtualenv

仅使用此软件包就可以完全使用和管理虚拟环境。我不会介绍如何执行此操作,因为使用 virtualenvwrapper 更容易。这是为了简化创建和管理虚拟环境而编写的软件包。使用pip安装它:

pip install virtualenvwrapper

在Windows中,您需要安装略有不同的软件包:

pip install virtualenvwrapper-win

请确保在尝试安装前安装了 virtualenv 安装 virtualenvwrapper

Now configure the wrapper:

export WORKON_HOME=~/Envssource /usr/local/bin/virtualenvwrapper.sh

此包装器将所有环境存储在同一位置(而不是分散在文件系统中,而虚拟环境将不使用包装器)。

用法

现在,您的虚拟环境已全部设置完毕,您可以开始使用它了。创建新环境的方法如下:

mkvirtualenv muo

这将在〜/ Envs 文件夹内创建一个名为 muo 的文件夹和环境。

您可以使用此命令创建尽可能多的环境。使用 workon 命令更改环境很容易:

workon muo

您现在应该在命令行中看到项目的名称:

任何软件包安装只能在此环境中进行。

如果您不再希望在环境中工作,则需要使用停用命令:

deactivate

这很重要请注意, workon 命令将停用当前项目,然后激活新项目。

列出虚拟环境很容易:

lsvirtualenv

如果您使用的是版本控制(确实如此),请确保排除环境。 (提示:如果使用的是Git,请使用gitignore命令。)

如果不再需要环境,则可以将其删除:

rmvirtualenv muo

确保当前未在使用该环境,否则会出现错误:

最后,使用特定版本的Python设置环境很容易:

virtualenv -p /usr/bin/python2.7 muo27

请确保文件路径(< > /usr/bin/python2.7 )指向Python版本(可以是任何版本)。注意我如何称这个项目为 muo27 。我使用后缀 27 表示这是Python 2.7环境。

其他

在创建环境时还可以使用其他一些选项。 –no-site-packages 选项将不会安装已经通过操作系统全局安装的软件包。您的环境将无法访问这些文件。这对于保持项目紧凑整洁,并且不会在其中填充不必要的包很有用。

您可以使用 freeze 命令生成项目所需的依赖项列表:

pip freeze > dependencies.txt

这将为所有必需模块创建名为 dependencies .txt 文件。这将使您或其他开发人员日后更轻松地重新启动该项目。您可以通过以下方法从该列表中安装所需的模块:

pip install -r dependencies.txt

现在,您知道如何使用Python虚拟环境了,可以处理的项目没有限制!为什么不学习如何读写Google表格,以及如何为自己创建一个新的工作环境。

您是否使用Python虚拟环境?您最喜欢的功能是什么?在下面的评论中让我们知道!

图片来源:谢尔盖·尼文斯(Sergey Nivens)和海伦·梦(Helen Dream)通过Shutterstock.com

标签: 编程 Python