使用Virtualenv和Virtualwrapper建立Python虛擬環境
轉載請註明出處:http://blog.csdn.net/dongdong9223/article/details/83784321
本文出自【我是幹勾魚的部落格】
Ingredient:
-
Python:Python 3.6.6(Python Downloads)
-
Virtualenv: pip install virtualenv
-
Virtualenvwrapper: pip install virtualenvwrapper
有時候你的伺服器上可能安裝了很多個Python,而且在執行不同的指令碼時可能需要建立不同的環境,這時能有一個針對不同Python用途的獨立自主的Python環境真是最好不過了!Virtualenv就是做這個用,它可以建立各自獨立的Python執行環境。
1 使用Virtualenv
1.1 安裝Virtualenv
首先用pip安裝virtualenv:
pip install virtualenv
1.2 建立一個目錄
為一個工程建立一個虛擬環境:
mkdir myproject
1.3 建立獨立的Python虛擬執行環境
進入myproject目錄:
cd myproject/
建立一個獨立的Python虛擬執行環境:
virtualenv -p /usr/bin/python2.7 venv
- “-p /usr/bin/python2.7”:指定Python直譯器程式路徑
- “venv”:會在當前目錄下建立一個venv資料夾,新建的Python環境會被放到這個venv資料夾下。venv這個虛擬環境的名字可以是任意的,如果省略會把檔案全部放在當前目錄。
1.4 啟用虛擬執行環境
啟用環境時使用"source venv/bin/activate"命令:
[email protected]:/opt/tmp/myproject# source venv/bin/activate
(venv) [email protected]:/opt/tmp/myproject#
能夠看到新的命令環境使用"(venv)"做了標記。這個時候,任何使用pip安裝的包將會儲存在 venv 資料夾中,與全域性安裝的Python隔絕開來。
1.5 退出虛擬執行環境
退出虛擬執行環境使用:
deactivate
命令,如:
(venv) [email protected]:/opt/tmp/myproject# deactivate
[email protected]:/opt/tmp/myproject#
能夠看到" (venv) "標記又消失了,回到了之前的命令環境。
2 使用Virtualenvwrapper
Virtualenv有個問題就是不便於對虛擬環境集中管理,這時就推薦使用Virtualenvwrapper了。 Virtualenvwrapper提供了一系列命令使得和虛擬環境工作變得方便,它會把所有的虛擬環境都儲存到一個地方。
- 1.將您的所有虛擬環境在一個地方。
- 2.包裝用於管理虛擬環境(建立,刪除,複製)。
- 3.使用一個命令來環境之間進行切換。
可以把Virtualenvwrapper看做完成服務治理的功能。
2.1 安裝Virtualenvwrapper
Linux下:
pip install virtualenvwrapper
Windows下:
pip install virtualenvwrapper-win
2.2 設定配置資訊
2.2.1 設定
安裝完成後,在檔案:
~/.bashrc
中新增相關配置資訊,內容如下:
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
- 第1行:設定Virtualenvwrapper存放虛擬環境的目錄
- 第2行:“/usr/local/bin/”是Virtualenvwrapper的安裝目錄,這裡執行“virtualenvwrapper.sh”這個指令碼檔案。
2.2.2 啟用
然後執行:
source ~/.bashrc
讓配置資訊生效。
2.3 建立虛擬環境
比如現在建立虛擬環境venv,使用mkvirtualenv命令,如下:
mkvirtualenv venv
2.4 檢視目錄
檢視當前的虛擬環境目錄,使用workon命令,如下:
[email protected]:~# workon
venv
能夠看到當前有一個虛擬環境,名稱為venv。
2.5 進入虛擬環境
現在要切換到虛擬環境venv下,執行命令:
workon venv
2.6 退出虛擬環境
退出虛擬環境venv,如下:
deactivate
2.7 刪除虛擬環境
刪除虛擬化機venv,如下:
rmvirtualenv venv