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