virtualenvwrapper 操作虛擬環境
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