在开发基于Python的应用程序时,可能需要特定版本的Python软件包。但是,如果安装了同一版本的同一软件包以供系统使用,则可能与其他应用程序的要求冲突。因此,期望为每种目的都具有并行环境以解决兼容性问题。
虚拟环境允许将Python软件包安装在特定应用程序的隔离位置,而不是全局安装。
Python标准库中的venv模块用于创建虚拟环境。虚拟环境是文件系统中的一个目录,具有自己的Python解释器和其他脚本的副本。以下命令在命名目录中创建虚拟环境。
C:\python37>python -m venv e:\testenv
您将找到一个按指定创建的新目录。以上可以选择使用以下开关
--system-site-packages | 授予虚拟环境访问系统站点软件包目录的权限。 |
-符号链接 | 尝试使用符号链接而不是副本 |
-副本 | 尝试使用副本而不是符号链接 |
- 明确 | 删除环境目录的内容(如果存在) |
- 升级 | 升级环境目录以使用此版本的Python |
-无点 | 跳过在虚拟环境中安装或升级pip(默认情况下,pip已引导) |
ENV_DIR(在本例中为testenv)下的'scripts'文件夹包含Python解释器,pip安装程序和用于激活和停用环境的脚本的本地副本。
activate activate.bat activate.ps1 deactivate.bat easy_install-3.7.exe easy_install.exe pip.exe pip3.7.exe pip3.exe python.exe pythonw.exe
为了在隔离的环境中启动Python,必须首先将其激活。为此,必须从命令行调用“ activate.bat”。
E:\testenv>scripts\activate (testenv) E:\testenv>python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
虚拟环境的名称显示在DOS提示符左侧的括号中。现在,您可以在虚拟环境中使用Python。
如果使用虚拟环境的scripts文件夹中的pip3实用程序安装了任何软件包,则它将在本地安装,并且无法在系统范围内使用。
停用虚拟环境
要返回正常环境,应使用脚本文件夹中的“ deactivate.bat”禁用虚拟环境。
>>> quit()(testenv) E:\testenv>scripts\deactivate E:\testenv>
对于3.3之前的Python版本,请使用virtualenv,必须单独安装。
venv模块定义了EnvironmentBuilder类,用于以编程方式创建虚拟环境。