virtualenv與virtualenvwrapper
當涉及到python項目開發時為了不污染全局環境,通常都會使用環境隔離管理工具virtualenv與virtualenvwrapper。
virtualenv是在項目底下執行生成venv環境目錄以此來進行管理,這非常適合使用諸如pycharm這種集成環境配置的開發工具;那么當通過shell來運行virtualenv時便會顯得非常麻煩,因為每次shell關閉再打開后都需要重新配置環境參數。
virtualenvwrapper是將所有的python項目虛擬環境環境都存放在一起,在使用shell配合小型開發工具就會非常方便。
virtualenvwrapper安裝配置(MAC)
1、使用pip3安裝
$ sudo pip3 install virtualenvwrapper
2、新建存放環境目錄(筆者目錄為Envs并放在Home下)
$ mkdir -p ~/Envs
3、配置virtualenvwrapper環境(使用python3)
i. 打開bash_profile,執行vim ~/.bash_profile并寫入
# 設置virtualenvwrapperexport WORKON_HOME=~/Envsexport VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3# 打開終端自動啟用source /usr/local/bin/virtualenvwrapper.sh
ii. 打開.zshrc,執行vim ~/.zshrc并寫入(如果有安裝item2與oh-my-zsh)
# 設置virtualenvwrapperexport WORKON_HOME=~/Envsexport VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3# 打開終端自動啟用source /usr/local/bin/virtualenvwrapper.sh
4、使配置生效
$ source ~/.bash_profile$ source ~/.zshrc
virtualenvwrapper 使用
1、新建虛擬環境test并指定python版本python3
$ mkvirtualenv test --python=python3
執行lsvirtualenv指令查看所有環境,環境test位于~/Envs/test
$ lsvirtualenvtest====
2、在項目底下激活虛擬環境test
workon test
3、其他指令
## 退出環境testdeactivate## 刪除環境testrmvirtualenv test## 更多指令可以在shell中輸入virtualenv回車會有提示
irtualenvwrapper設置環境變量
當我們使用框架時經常需要執行pip install或者 export環境變量等額外的操作,這時就需要使用postactivate等鉤子文件(當然鉤子文件還有很多,具體感興趣可以去查看官方文檔)。
舉個栗子:
想在test虛擬環境激活后設置環境變量
1、打開test的postactivate鉤子文件vim ~/Envs/test/bin/postactivate
#!/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 操作
新聞熱點
疑難解答