版权声明:本文为博主原创文章,转载请注明出处。 https://www.php.cn/link/b9e4d53a5bd0882b7715b90c7c29aea2
在使用Python编程时,我们通常依赖pip来安装第三方库。然而,由于pip的特性,系统中只能安装每个库的一个版本。然而,在实际的项目开发中,不同的项目可能需要不同版本的第三方库。Python通过虚拟环境提供了解决方案。顾名思义,虚拟环境是一个隔离的Python运行环境,每个项目可以拥有自己的虚拟环境,独立使用pip安装所需的第三方库,避免不同项目间的冲突。本文将介绍创建虚拟环境所需的工具。
在众多工具中,virtualenv是最经典且广泛使用的。它支持Python 2和Python 3。不过,Python 3新增了一个名为venv的工具,将在后面详细介绍。
安装virtualenv的最简单方式是使用pip:
pip install virtualenv
安装后即可创建虚拟环境,指定虚拟环境的路径为ENV:
立即学习“Python免费学习笔记(深入)”;
virtualenv ENV
这将生成
ENV/lib/、
ENV/include和
ENV/bin(Windows系统下为
ENV/Scripts)几个文件夹,构成一个完整的Python环境。
ENV/lib/中包含pip等工具,用于安装第三方库,与系统中已安装的Python互不干扰。
在创建虚拟环境时,可以使用
--system-site-packages参数,使虚拟环境继承主环境的所有第三方库。如果希望虚拟环境独立,则不使用此参数。
要激活虚拟环境,需运行其中的activate脚本(注意Windows和Linux系统的差异):
\path\to\env\Scripts\activate
激活后,所有Python命令和pip包都在虚拟环境中,不影响主Python环境。

退出虚拟环境,执行以下命令:
\path\to\env\Scripts\deactivate
在Windows系统下,使用Powershell需先更新脚本执行策略:
PS C:\> Set-ExecutionPolicy AllSigned
然后运行
activate.ps1脚本进入虚拟环境。

删除虚拟环境只需删除相应目录即可。
睿拓智能网站系统-网上商城1.0免费版软件大小:5M运行环境:asp+access本版本是永州睿拓信息专为电子商务入门级用户开发的网上电子商城系统,拥有产品发布,新闻发布,在线下单等全部功能,并且正式商用用户可在线提供多个模板更换,可实现一般网店交易所有功能,是中小企业和个人开展个人独立电子商务商城最佳的选择,以下为详细功能介绍:1.最新产品-提供最新产品发布管理修改,和最新产品订单查看2.推荐产
virtualenv还有一些高级特性,如配置文件和扩展能力,详细信息请参考官方文档。
Python 3引入了标准库中的venv,仅适用于Python 3,吸收了virtualenv的优点,但由于其局限性,使用率较低。如果只在Python 3环境中工作,可以考虑使用venv。
在Python 3.3和3.4中,存在一个名为pyvenv的包,但在Python 3.6中已被废弃,建议使用venv。
创建venv虚拟环境与virtualenv类似,指定虚拟环境的目录即可:
python3 -m venv /path/to/new/virtual/environment
venv也会创建同样的目录,并生成一个
pyvenv.cfg配置文件,记录主环境和虚拟环境的属性:
home = C:\Program Files\Python37include-system-site-packages = falseversion = 3.7.0
venv的使用方法与virtualenv类似,扩展性方面可能存在差异,但本文仅介绍基本用法。详细信息请参考官方文档12. Virtual Environments and Packages以及PEP 405。

本文主要介绍了虚拟环境的概念和工具,但Python中还有其他名为XXenv的包容易混淆,下面简要介绍一下。
首先是pyenv,注意它没有带v,不是用于创建虚拟环境的,而是管理多版本Python的工具。pyenv通过在系统环境变量前插入“垫片”路径来实现Python版本的切换,方便在不同版本间切换。
关于pyenv的详细内容,我已在另一篇文章中介绍,这里不再赘述。
pipenv是较新的工具,模仿npm等包管理器,集成了创建虚拟环境和依赖管理功能。pipenv官方网站强调对Windows系统的支持,其作者Kenneth Reitz以开发requests、requests-html等库闻名。pipenv底层使用virtualenv等工具创建虚拟环境,并支持与pyenv配合使用。
pipenv的主要功能包括:
- 创建虚拟环境。pipenv可以使用系统中已安装的Python创建虚拟环境,并通过一条命令切换到其他版本,自动重新安装依赖包。由于pipenv只能搜索已安装的Python,可能需要与pyenv配合使用。
- 依赖管理。pipenv通过
Pipfile
和lock文件管理依赖,安装第三方包时,依赖信息保存到配置文件中,方便项目在其他环境中快速恢复。此外,pipenv还提供终端彩色输出、显示依赖图等特色功能。由于其实用性,许多公司已开始使用pipenv,例如heroku在部署Python项目时要求使用pipenv。
关于pipenv的详细用法,我也已在另一篇文章中介绍,这里不再重复。









