无论您是一名经验丰富的Python开发人员,还是刚刚起步,学习如何设置虚拟环境对于任何Python项目都是必不可少的。和我一起讨论Python虚拟环境的所有知识。
确保您阅读了Python编程没有用处的原因,如果您是Python的新手,请查看以下10个基本Python示例。
虚拟环境是为不同的项目运行不同版本的Python的一种方式。与虚拟机的工作方式类似,Python虚拟环境允许您安装多个版本的Python,每个版本都有特定的模块和依赖项。这些项目都是相互独立的,因此您在某个项目中安装的任何模块都无法在其他项目中访问。
这似乎是一个很大的努力,但它是值得的。假设您通常在Python2.7.x中工作,但是您想尝试3.x。没问题,只需创建一个新项目并安装依赖项。对于一个遗留项目,Python2.4.x怎么样?是的,很简单。这些项目都不会相互干扰,也不会涉及操作系统使用的Python版本。
不管您使用的是哪种版本的Python。如果您使用的是Mac,那么您已经安装了Python。如果您使用的是Windows,则需要下载并安装Python。
您需要安装pip。这是一个用于Python的包管理器,它附带Python版本2.7.9或更新的版本。所有这些步骤都将通过命令行完成,因此您可能需要阅读我们的Windows命令行指南或Linux命令行快速指南。
使用虚拟环境需要两个包。打开新的终端并安装virtualenv包:
pip install virtualenv完全可以单独使用和管理此包的虚拟环境。我不会介绍如何做到这一点,因为使用VirtualVwRapper要容易得多。这是一个编写的包,它使创建和管理虚拟环境变得更加容易。使用pip安装:
pip install virtualenvwrapper在windows中,您需要安装稍微不同的软件包:
pip install virtualenvwrapper-win在尝试安装virtualenvwrapper之前,请确保已安装virtualenv。
现在配置包装器:
export WORKON_HOME=~/Envssource /usr/local/bin/virtualenvwrapper.sh这个包装器将所有环境存储在同一个位置(而不是分散在文件系统中,虚拟环境不使用包装器就可以做到这一点)。
现在您的虚拟环境已经全部设置好,您可以开始使用它了。以下是创建新环境的方法:
mkvirtualenv muo这将在~/Envs文件夹中创建一个名为muo的文件夹和环境。
可以使用此命令创建任意多个环境。使用workon命令很容易更改环境:
workon muo现在,您应该可以在命令行中看到项目的名称:
您安装的任何软件包都只能在此环境中工作。
如果不再希望在环境中工作,则需要使用deactivate命令:
deactivate需要注意的是,workon命令将停用当前项目,然后激活新项目。不需要先停用。
很容易列出虚拟环境:
lsvirtualenv如果您使用的是版本控制(您确实应该这样做),请确保排除您的环境。(提示:如果使用Git,请使用gitinore命令。)
如果不再需要环境,可以删除它:
rmvirtualenv muo请确保当前未在该环境中工作,否则将出现错误:
最后,使用特定版本的Python设置环境很容易:
virtualenv -p /usr/bin/python2.7 muo27确保文件路径(/usr/bin/python2.7)指向Python的一个版本(可以是任何版本)。注意我如何称呼这个项目muo27。我用后缀27表示这是一个python2.7环境。
在创建环境时,还可以使用其他一些选项。--no site packages选项不会安装已全局安装(由操作系统)的包。您的环境将无法访问这些。这有助于保持项目紧凑和整洁,而不是用不必要的包填充它。
可以使用“冻结”命令生成项目所需的依赖项列表:
pip freeze > dependencies.txt这将创建名为所有必需模块的依赖项的.txt文件。这将使您或其他开发人员更容易在稍后的日期重新启动项目。下面是如何从该列表中安装所需模块:
pip install -r dependencies.txt既然您已经知道如何使用Python虚拟环境,那么您可以处理的项目就没有限制了!为什么不学习如何读写谷歌工作表,为自己创造一个新的工作环境呢。
您使用Python虚拟环境吗?你最喜欢的功能是什么?在下面的评论中让我们知道!
图片来源:Sergey Nivens和Helen Dream viaShutterstock.com网站
... 本文将向您展示如何使用Python程序从命令行设置一个Arduino UNO(尽管任何与Arduino兼容的板都可以在这里工作)。本教程是为Windows10编写的,但也适用于Mac和Linux。你甚至可以使用这个工作...
...程有55000名学生。如果你加入,接下来的13个小时将带你了解黑客技术的来龙去脉,比如渗透测试。这是第一次通过数字设备和网站。 ...
... 为了学习这些概念,你不需要提前了解很多。对编程范例和Python的基本知识将很有帮助,但这是不需要的。如果您不知道从哪里开始,请阅读我们的基本Python示例。如果您认为Python是一种无用的语言,请查...
...。这将转到下一个要创建的接收方端点。如果您想进一步了解jQuery在这种情况下的工作原理,请务必阅读我们的jQuery指南。 ...
... 既然你已经知道了基本知识,那就去做点酷的吧!了解如何使用cron在Linux中调度任务(或签出Windows替代方案)。也许你可以给相框加电或者做个办公室仪表板——我就是这么做的!或者为什么不和Heroku一起主持Python网站...
...先前知识的情况下遵循本教程,但在尝试之前,可能需要了解机器学习的基本知识。 ...
...的助手SDK允许您在自己的设备上使用该服务。本教程介绍如何在树莓Pi上设置Google助手,以及如何通过GPIO引脚激活LED。 ...
...pythonversion2中使用Click,但是这些示例在python3中。进一步了解python2和python3之间的区别。 ...
... 在本文中,我们将解释您需要了解的关于这些神秘函数的一切,如何使用它们,以及它们为什么有用。 ...