1. 爲什麼需要虛擬環境:
在我們使用python的過程中,我們所有的第三方包安裝都是直接通過pip install xx的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的Python環境中。但是這樣有一個問題,就是如果你現在用Django 2.0寫了個網站,然後你的領導跟你說,之前有一箇舊項目是用Django 1.11開發的,讓你來維護,但是Django 2.0不再兼容Django 1.11的一些語法了。這時候就會碰到一個問題,我如何在我的電腦中同時擁有Django 2.0和Django 1.11兩套環境呢?這時候我們就可以通過虛擬環境來解決這個問題。
2. virtualenv
2.1 virtualenv簡介:
在python開發中,我們可能會遇到一種情況,就是當前的項目依賴的是某一個版本,但是另一個項目依賴的是另一個版本,這樣就會造成依賴衝突,而virtualenv就是解決這種情況的,virtualenv通過創建一個虛擬化的python運行環境,將我們所需的依賴安裝進去的,不同項目之間相互不干擾
2.2 virtualenv安裝:
pip install virtualenv
2.3 創建虛擬環境:
創建虛擬環境非常簡單,通過以下命令就可以創建了:
virtualenv [虛擬環境的名字]
例如:
virtualenv django-env
然後你就能在當前目錄下得到一個虛擬環境的文件夾:
2.4 進入虛擬環境(windows):
虛擬環境創建好了以後,那麼可以進入到這個虛擬環境中,然後安裝一些第三方包。
windows進入虛擬環境:進入到虛擬環境的Scripts文件夾中,然後執行activate。
2.5 退出虛擬環境:
退出虛擬環境很簡單,通過一個命令就可以完成:deactivate。
2.6 創建虛擬環境的時候指定Python解釋器:
virtualenv -p C:\Python36\python.exe [virutalenv name]
3. virtualenvwrapper(推薦使用):
virtualenvwrapper這個軟件包可以讓我們管理虛擬環境變得更加簡單。不用再跑到某個目錄下通過virtualenv來創建虛擬環境,並且激活的時候也要跑到具體的目錄下去激活。
3.1 安裝virtualenvwrapper(windows):
pip install virtualenvwrapper-win
3.2 創建虛擬環境:
mkvirtualenv my_env
3.3 切換虛擬環境:
workon my_env
3.4 退出虛擬環境:
deactivate
3.4 刪除某個虛擬環境:
rmvirtualenv my_env
3.5 列出所有虛擬環境:
lsvirtualenv
3.6 進入到虛擬環境所在的目錄:
cdvirtualenv
3.7 修改mkvirtualenv的默認路徑:
在我的電腦->右鍵->屬性->高級系統設置->環境變量->系統變量中添加一個參數WORKON_HOME,將這個參數的值設置爲你需要的路徑。
3.8 創建虛擬環境的時候指定Python版本:
mkvirtualenv --python==C:\Python36\python.exe my_env
4. 總結
-
virtualenv就是一個搭建虛擬化的python環境,便於不同的項目在同一臺機器上開發運行。
-
virtualenv更多的還是適用於本地開發不同的項目,但是在生產環境中還是使用docker給不同的項目創建不同的容器,各自分開運行爲好,不宜放在一個單獨的物理機中運行。
-
關於虛擬環境,瞭解這些已經可以玩轉了,更多命令可以去問百度。。。