virtualenvwrapper 提供一系列命令让你更加愉快地操作虚拟环境。它还将所有虚拟环境放在一块。
virtualenvwrapper 安装
Linux 系统
安装方法如下 ( 请确保 virtualenv 已安装 ) :
# pip install virtualenvwrapper
更改 /etc/profile配置文件,在最后添加:
## virtualenvwrapper
export WORKON_HOME=/data/ # 定义创建虚拟环境的路径
export PROJECT_HOME=/data/Devel # 定义创建虚拟项目的路径
export VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.sh
source /usr/bin/virtualenvwrapper_lazy.sh
执行:
- source /etc/profile
- mkdir -p /data/Devel
Windows 系统
对于 Windows 用户,你可以使用 virtualenvwrapper-win。
安装方式如下 ( 请确保 virtualenv 已安装 ) :
pip install virtualenvwrapper-win
在 Windows 中,设置环境变量 WORKON_HOME ,内容为 %USERPROFILE%Envs
virtualenvwrapper 基本用法
创建虚拟环境
# mkvirtualenv my_project
New python executable in /data/my_project/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /data/my_project/bin/predeactivate
virtualenvwrapper.user_scripts creating /data/my_project/bin/postdeactivate
virtualenvwrapper.user_scripts creating /data/my_project/bin/preactivate
virtualenvwrapper.user_scripts creating /data/my_project/bin/postactivate
virtualenvwrapper.user_scripts creating /data/my_project/bin/get_env_details
(my_project) [root@wtf data]#
进入虚拟环境下工作
[root@wtf data]# workon my_project
(my_project) [root@wtf data]#
或者,你可以通过创建项目来创建虚拟环境,该项目目录要在 $WORKON_HOME 下,当你在 workon my_project 时可以 cd 进入。
(my_project) [root@wtf data]# mkproject myproject
New python executable in /data/myproject/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /data/myproject/bin/predeactivate
virtualenvwrapper.user_scripts creating /data/myproject/bin/postdeactivate
virtualenvwrapper.user_scripts creating /data/myproject/bin/preactivate
virtualenvwrapper.user_scripts creating /data/myproject/bin/postactivate
virtualenvwrapper.user_scripts creating /data/myproject/bin/get_env_details
Creating /data/Devel/myproject
Setting project for myproject to /data/Devel/myproject
(myproject) [root@wtf myproject]# ls
(myproject) [root@wtf myproject]# pwd
/data/Devel/myproject
virtualenvwrapper 为环境名称提供 tab 键补全功能。当你有很多环境又很难记住它们的名字时,该功能很有帮助。
workon 也会使你当前所在的环境失效,这样你就可以在不同地环境间快速切换。
停止虚拟环境
# deactivate
删除虚拟环境
# rmvirtualenv my_project
其他有用的命令
列出所有虚拟环境
[root@wtf ~]# lsvirtualenv
my_project
==========
进入当前的虚拟环境目录
[root@wtf ~]# workon my_project
(my_project) [root@wtf ~]# ls
(my_project) [root@wtf ~]# cdvirtualenv
(my_project) [root@wtf my_project]# ls
bin include lib lib64
进入虚拟环境的 site-packages 目录
(my_project) [root@wtf ~]# cdvirtualenv
(my_project) [root@wtf my_project]# ls
bin include lib lib64
(my_project) [root@wtf my_project]# cdsitepackages
(my_project) [root@wtf site-packages]# pwd
/data/my_project/lib/python2.7/site-packages
列出 site-packages 目录下所有软件包
(my_project) [root@wtf site-packages]# lssitepackages
easy_install.py pip-9.0.1.dist-info setuptools-28.8.0.dist-info
easy_install.pyc pkg_resources wheel
pip setuptools wheel-0.29.0.dist-info