virtualenv与virtualenvwrapper
当涉及到python项目开发时为了不污染全局环境,通常都会使用环境隔离管理工具virtualenv
与virtualenvwrapper
。
virtualenv
是在项目底下执行生成venv
环境目录以此来进行管理,这非常适合使用诸如pycharm
这种集成环境配置的开发工具;那么当通过shell
来运行virtualenv
时便会显得非常麻烦,因为每次shell
关闭再打开后都需要重新配置环境参数。
virtualenvwrapper
是将所有的python项目虚拟环境环境都存放在一起,在使用shell
配合小型开发工具就会非常方便。
virtualenvwrapper安装配置(MAC)
-
使用
pip3
安装$ sudo pip3 install virtualenvwrapper
-
新建存放环境目录(笔者目录为
Envs
并放在Home
下)$ mkdir -p ~/Envs
-
配置virtualenvwrapper环境(使用
python3
)i. 打开
bash_profile
,执行vim ~/.bash_profile
并写入# 设置virtualenvwrapper export WORKON_HOME=~/Envs export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 打开终端自动启用 source /usr/local/bin/virtualenvwrapper.sh
ii. 打开
.zshrc
,执行vim ~/.zshrc
并写入(如果有安装item2
与oh-my-zsh
)# 设置virtualenvwrapper export WORKON_HOME=~/Envs export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 打开终端自动启用 source /usr/local/bin/virtualenvwrapper.sh
-
使配置生效
$ source ~/.bash_profile $ source ~/.zshrc
virtualenvwrapper 使用
-
新建虚拟环境
test
并指定python版本python3
$ mkvirtualenv test --python=python3
执行
lsvirtualenv
指令查看所有环境,环境test
位于~/Envs/test
$ lsvirtualenv test ====
-
在项目底下激活虚拟环境
test
workon test
-
其他指令
## 退出环境test deactivate ## 删除环境test rmvirtualenv test ## 更多指令可以在shell中输入virtualenv回车会有提示
virtualenvwrapper设置环境变量
当我们使用框架时经常需要执行pip install
或者 export
环境变量等额外的操作,这时就需要使用postactivate
等钩子文件(当然钩子文件还有很多,具体感兴趣可以去查看官方文档)。
举个栗子:
想在test
虚拟环境激活后设置环境变量
-
打开
test
的postactivate
钩子文件vim ~/Envs/test/bin/postactivate
#!/bin/zsh # This hook is sourced after this virtualenv is activated. # 在当前会话加入环境变量 export ENV=dev
- 这时当执行
workon test
激活虚拟环境后便会执行postactivate
将项目环境变量Env
设置为dev
- 在
postactivate
中还可以执行诸如pip install -r requirements.txt
,pip install -e conf
等shell
操作
到目前为止基本的virtualenvwrapper
使用就介绍完了
原文地址:http://www.fidding.me/article/71
happy coding!