virtualenvwrapper 是个方便管理 virtualenv 工具。
初始化环境
当前使用的是 Arch 所以默认版本为 python3,以下为在该环境下的使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo pip2 install virtualenvwrapper ... export WORKON_HOME=~/Envs mkdir -p $WORKON_HOME
# 在使用默认版本 py3 的环境里面,如果需要使用 py2 的话,则需要另外加一行 # 如果只是 py3 的话不需要理会 export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
source /usr/bin/virtualenvwrapper.sh mkvirtualenv env
# 加载系统现有的包去初始化环境 mkvirtualenv env --system-site-packages
|
在 .zshrc
中加入
1 2 3 4 5
| source /usr/bin/virtualenvwrapper.sh
# 具体的文件位置不一定 # 官方文档的例子是 source /usr/local/bin/virtualenvwrapper.sh # 可用 find / -name virtualenvwrapper.sh 去确定.
|
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| mkvirtualenv env
pip2 install requests
workon env2
deactivate
lssitepackages
lsvirtualenv, rmvirtualenv
|
项目管理
1 2 3
|
setvirtualenvproject [virtualenv_path project_path]
|
在设置了虚拟环境之后,执行 workon env
就可以自动跳转到项目路径,如果在别的路径下面使用可以不自动跳转 workon env -n
其它一些东西
如果需要在 env 环境下手动安装依赖,需要指定 python,如
1
| /home/lycheng/Env/tw/bin/python setup.py install
|
命令行更好的提示
1 2 3 4 5 6 7
| # $WORKON_HOME/postactivate PS1="$_OLD_VIRTUAL_PS1" _OLD_RPROMPT="$RPROMPT" RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT"
# $WORKON_HOME/postdeactivate RPROMPT="$_OLD_RPROMPT"
|
暂时的问题
目前还有的问题就是,通过 cd 真的会自动切换虚拟环境,但是在 tmux 中,新建 session,切分窗口也不能自动使用路径对应的虚拟环境。必须手动重新加载一次。
参考
- 官方文档