在Posix系统(*nix/BSD)中,用法如下:

该操作会将当前 $PATH 指向隔离环境下的 bin/ 目录。之所以要用source是因为它要改变当前shell环境。仅仅就是一行命令,就这么简单。如果直接运行隔离环境下的脚本或是python解释器(比如 path/to/env/bin/pip or/path/to/env/bin/python script.py ),那都没必要使用激活脚本。

输入 就能退出已激活的隔离环境,也就是取消对当前 $PATH 所做的修改。

activate 脚本会修改当前shell命令行提示符,以提示当前激活的是哪个隔离环境。这是挺有用的,不过要是想自定义的提示符,只要在运行 activate 前将 VIRTUAL_ENV_DISABLE_PROMPT 设为你想要的提示(不能为空字符串)。

输入 deactivate 就能退出隔离环境。

视你用的shell不同(CMD.exe或Powershell.exe),Windows会使用activate.bat或activate.ps1来激活隔离环境。如果使用的是Powershell,那么以下几点值得注意。

注意(说真的,开发python还是在*nix下好,真的真的真的!):

使用Powershell时,运行 脚本取决于执行策略_ 。但在Windows7下,默认情况下执行策略被设为严格,
这就意味着象 activate 这样的脚本是不能直接运行的。但稍微设置一下即可。

接下来运行脚本时会提示是否信任该签名::

如果选择了 [A] Always Run, 该证书就会添加到当前帐户下的受信任发布者名单中,而且此后一直被该用户所信任。
如果选择了 , 该脚本会立即运行,但之后每次使用都会重新出现信任提示并选择。
高级用户可以将该证书添加到当前计算机的受信任发布者名单中,这样所有用户都可以使用该脚本了(不过这部分内容已经超过了本文档范畴了)。

此外,还可以进一步降低执行策略,允行未验证的本地脚本运行::


因为对任何一个virtualenv环境而言, activate.ps1 都是一个本地脚本而非远程脚本,因为可以获准运行。