5. Additional Tools and Scripts¶
5.1. pyvenv - 创建虚拟环境¶
通过执行pyvenv
脚本完成virtual environments的创建:
pyvenv /path/to/new/virtual/environment
运行此命令创建目标目录(创建任何不存在的父目录),并使用home
键将pyvenv.cfg
文件放置到Python目录安装命令从运行。它还会创建一个bin
(或Windows上的Scripts
)子目录,其中包含python
。它还创建了一个(最初为空的)lib/pythonX.Y/site-packages
子目录(在Windows上,这是Lib\site-packages
)。
在Windows上,如果没有相关的PATH和PATHEXT设置,则可能需要调用pyvenv
脚本:
c:\Temp>c:\Python35\python c:\Python35\Tools\Scripts\pyvenv.py myenv
或等效地:
c:\Temp>c:\Python35\python -m venv myenv
该命令如果以-h
运行,将显示可用的选项:
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip]
ENV_DIR [ENV_DIR ...]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
optional arguments:
-h, --help show this help message and exit
--system-site-packages Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory if it
already exists, before environment creation.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
根据如何调用venv
功能,使用消息可以稍微改变,例如,引用pyvenv
而不是venv
。
在版本3.4中更改:默认安装pip,添加了--without-pip
和--copies
选项
在版本3.4中已更改:在早期版本中,如果目标目录已存在,则会出现错误,除非--clear
或--upgrade
现在,如果指定了现有目录,则删除其内容,并且处理该目录,就好像它是新创建的。
The created pyvenv.cfg
file also includes the include-system-site-packages
key, set to true
if venv
is run with the --system-site-packages
option, false
otherwise.
除非给出--without-pip
选项,否则将调用ensurepip
以将pip
引导到虚拟环境中。
多个路径可以给予pyvenv
,在这种情况下,将在每个提供的路径根据给定的选项创建一个相同的virtualenv。
一旦创建了venv,它可以使用venv的二进制目录中的脚本“激活”。脚本的调用是平台特定的:
平台 | 贝壳 | 命令激活虚拟环境 |
---|---|---|
Posix | bash / zsh | $ source |
鱼 | $。 | |
csh / tcsh | $ source | |
视窗 | cmd.exe | C:\> |
PowerShell | PS C:\> |
您不具体需要来激活环境;激活只是将venv的二进制目录添加到你的路径,所以“python”调用venv的Python解释器,你可以运行安装的脚本,而不必使用他们的完整路径。但是,安装在venv中的所有脚本都应该可以在不激活的情况下运行,并且可以自动运行venv的Python。
您可以通过在shell中键入“deactivate”来停用venv。确切的机制是特定于平台的:例如,Bash激活脚本定义了一个“deactivate”函数,而在Windows上有称为deactivate.bat
和Deactivate.ps1
新版本3.4: fish
和csh
激活脚本。