一、mkvirtualenv 簡介
1. 虛擬環境簡介
考慮以下場景:
- 當我們需要同時維護一個由
Django 1.0
版本驅動的老項目和開發一個使用Django 2.0
版本的新項目時,如何順滑的在兩種開發環境中切換成了一個難題。 - 為了解決這個問題,虛擬環境應運而生。
什么是虛擬環境:
- 第一次安裝好
Python
后,我們就有了一個全局級別的環境(簡稱全局環境),或者叫做系統級別的環境(簡稱系統環境)。 - 我們可以使用虛擬環境工具在全局環境的基礎上創建多個互相獨立、互不影響的虛擬環境,這些虛擬環境可以安裝不同版本的
Django
。 - 本質上來說虛擬環境就是相互獨立的文件夾,內含
Python
解釋器和相關依賴。 - 如下圖所示:
使用虛擬環境的好處:
- 保持全局環境的干凈
- 指定不同的依賴版本
- 方便記錄和管理依賴
當涉及到python項目開發時為了不污染全局環境,通常都會使用環境隔離管理工具virtualenv與virtualenvwrapper。
virtualenv是在項目底下執行生成venv環境目錄以此來進行管理,這非常適合使用諸如pycharm這種集成環境配置的開發工具;那么當通過shell來運行virtualenv時便會顯得非常麻煩,因為每次shell關閉再打開后都需要重新配置環境參數。
virtualenvwrapper是將所有的python項目虛擬環境環境都存放在一起,在使用shell配合小型開發工具就會非常方便。
2. virtualenv 介紹
從 Python 3.3
開始 virtualenv
的子集作為 venv
標准庫被集成到了 Python
中,這里還是介紹 virtualenv
的使用方法,對 venv
標准庫感興趣的朋友可以移步做進一步了解。
https://docs.python.org/3/library/venv.html
二、mkvirtualenv 安裝使用(mac)
安裝virtualenv和virtua
pip3 install virtualenv
pip3 install virtualenvwrapper
查找virtualenvwrapper.sh
which virtualenvwrapper.sh
我的機器上的位置是: /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
修改.bash_profile
打開/Users/用戶名/.bash_profile ,在最后加入:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_SCRIPT=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' 終端運行: source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh source /Users/用戶名/.bash_profile
創建虛擬環境:
mkvirtualenv test -p python3
查看虛擬環境:
lsvirtualenv(workon)
test ====
進入虛擬環境:
workon test
退出虛擬環境:
deactivate
刪除虛擬環境:
rmvirtualenv test1
pycharm中使用虛擬環境
添加一個python3.6的環境即可
preferences-->
**** 報錯解決 *****
1、virtualenv:error:unrecognized arguments: --no-site-packages
--no-site-packages沒有這個參數,是virtualenv版本問題
pip3 install --upgrade virtualenv==16.7.9