virtualenv
virtualenv 的作用:为单个项目创建独立的python虚拟环境
virtualenv的使用 :
1.通过如下命令安装virtualenv
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ sudo pip install virtualenv</pre>
2.创建虚拟环境:
- 创建默认虚拟环境:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ virtualenv env27</pre>
此命令表示创建一个名为env27的虚拟环境。每个虚拟环境都包含一个独立的env27/bin/python和env27/bin/pip,当运行他们时env27做为你的运行环境。
- 创建指定解释器版本的虚拟环境:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> virtualenv -p python3.4 env3.4 #解释器为python3.4</pre>
- 创建继承第三方的虚拟环境
如果python已经安装了第三方库,你希望在新的虚拟环境中也使用这些库,那么可使用如下命令:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ virtualenv --system-site-packages env27</pre>
如果不想使用可使用如下命令:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ virtualenv --no-site-packages env27</pre>
3.启动和退出虚拟环境
- 启动虚拟环境
要想启动env27虚拟环境,只要运行如下命令:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ source env27/bin/activate</pre>
这个命令会修改系统路径$PATH,把env27/bin的路径至于系统路径之前。
source 命令表示更改当前的shell环境。
启动了虚拟环境之后,所有pip命令新安装的第三方包都将安装在当前环境下,而不会影响系统环境或者其它虚拟环境。、
- 退出虚拟环境
退出当前虚拟环境只需执行如下命令:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ deactivate</pre>
virtualenvwrapper
virtualenvwrapper 时一个基于virtualenv之上的工具,它将所欲的虚拟环境统一管理。
安装
如下命令:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ sudo pip install virtualenvwrapper</pre>
virtualenvwrapper默认将所有的虚拟环境放在~/.virtualenvs目录下管理,可以修改环境变量WORKON_HOME来指定虚拟环境 的保存目录。
使用如下命令来启动virtualenvwrapper:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ source /usr/local/bin/virtualenvwrapper.sh</pre>
还可以将该命令添加到/.bashrc或/.profie等shell启动文件中,以便登陆shell后可直接使用virtualenvwrapper提供的命令。
对于virtualenvwrapper的配置:
代码如下:
[ 复制代码](javascript:void(0); "复制代码")
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">if [ id -u
!= '0' ]; then
export VIRTUALENV_USE_DISTRIBUTE=1 # <-- Always use pip/distribute
export WORKON_HOME=WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
fi</pre>
[ 复制代码](javascript:void(0); "复制代码")
将上面的配置添加到 ~/.bashrc 的末尾,然后将下面的命令运行一次:
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">source ~/.bashrc</pre>
用法
- 创建虚拟环境
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ mkvirtualenv env27</pre>
- 创建指定解释器的虚拟环境
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ mkvirtualenv -p python3.4 env34</pre>
- 启动虚拟环境
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ workon env27</pre>
- 退出虚拟环境
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ deactivate</pre>
- 删除虚拟环境
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ rmvirtualenv env27</pre>
网友评论