動態(tài)語言Ruby、Python都有自己的虛擬環(huán)境,虛擬環(huán)境是程序執(zhí)行時的獨立執(zhí)行環(huán)境,在同一臺服務器中可以創(chuàng)建不同的虛擬環(huán)境供不同的系統使用,項目之間的運行環(huán)境保持獨立性而相互不受影響。例如項目可以在基于Python2的環(huán)境中運行,而項目B可以在基于Python3的環(huán)境中運行。Python通virtualenv工具管理虛擬環(huán)境。
安裝 virtualenv
$ pip install virtualenv
使用方法
$ cd my_project_folder
$ virtualenv venv
執(zhí)行完命令后它會在當前目錄下創(chuàng)建文件夾,這個文件夾包含一些Python執(zhí)行文件,以及pip副本,用于安裝其他的packges。
.
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── easy_install
│ ├── easy_install-3.5
│ ├── pip
│ ├── pip3
│ ├── pip3.5
│ ├── python -> python3
│ ├── python3
│ ├── python3.5 -> python3
│ └── wheel
├── include
│ └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
└── python3.5
此外在創(chuàng)建env的時候可以選擇指定的Python解釋器,例如下面是基于Python3創(chuàng)建的虛擬環(huán)境
$ virtualenv -p /usr/local/bin/python3 venv
默認情況下,虛擬環(huán)境會依賴系統環(huán)境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環(huán)境中,如果不想依賴這些package,那么可以加上參數 --no-site-packages建立虛擬環(huán)境
virtualenv --no-site-packages [虛擬環(huán)境名稱]
激活虛擬環(huán)境
cd env
source ./bin/activate
激活成功后,在命令行會顯示虛擬環(huán)境的名稱,類似((env)Your-Computer:your_project UserName$)
退出虛擬環(huán)境
$ deactivate
如果想刪除虛擬環(huán)境,那么直接運行rm -rf venv/命令即可。
在虛擬環(huán)境安裝Python packages
Virtualenv 附帶有pip安裝工具,因此需要安裝的packages可以直接運行:
pip install [套件名稱]
如果沒有啟動虛擬環(huán)境,系統環(huán)境也安裝了pip工具,那么packages將被安裝在系統環(huán)境中,為了避免發(fā)生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
如果在沒開啟虛擬環(huán)境時運行pip,就會提示錯誤:
Could not find an activated virtualenv (required).
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的擴展包,用于更方便管理虛擬環(huán)境,它可以做:
1. 將所有虛擬環(huán)境整合在一個目錄下
2. 管理(新增,刪除,復制)虛擬環(huán)境
3. 切換虛擬環(huán)境
4. ...
安裝Virtualenvwrapper
安裝Virtualenvwrapper前需要virtualenv已近安裝
$ pip install virtualenvwrapper
此時還不能使用virtualenvwrapper,默認virtualenvwrapper安裝在/usr/local/bin下面,實際上你需要運行virtualenvwrapper.sh文件才行,先別急,打開這個文件看看,里面有安裝步驟,我們照著操作把環(huán)境設置好。
1、創(chuàng)建目錄用來存放虛擬環(huán)境
mkdir $HOME/Envs
編輯~/.zshrc或~/.bashrc(根據你使用shell類型決定)
export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 運行:
$ source ~/.zshrc
此時virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:
1、列出虛擬環(huán)境列表
workon 或者 lsvirtualenv
新建虛擬環(huán)境
mkvirtualenv [虛擬環(huán)境名稱]
2、啟動/切換虛擬環(huán)境
workon [虛擬環(huán)境名稱]
3、刪除虛擬環(huán)境
rmvirtualenv [虛擬環(huán)境名稱]
4、離開虛擬環(huán)境,和virutalenv一樣的命令