virtualenv
virtualenv用於在一台機器上創建多個獨立的python運行環境,可以解決:
1. 隔離項目之間的第三方包依賴
2.在沒有權限的情況下安裝新的Python軟件包
除此之外,還有一個額外的好處:部署應用時,把開發環境的虛擬環境打包到生產環境即可。
1.安裝
C:\python27>pip install virtualenv
2.使用
D:\mysite>C:\Python27\Scripts\virtualenv.exe env_py27
以上代碼在D:\mysite目錄安裝env_py27環境目錄,其文件結構:
D:\mysite\env_py27 的目錄 2018/05/16 06:06 <DIR> . 2018/05/16 06:06 <DIR> .. 2018/05/16 06:06 <DIR> Include 2018/05/16 06:06 <DIR> Lib 2018/05/16 06:06 <DIR> Scripts
其中Lib/site-packages包含了,從系統安裝的python27下面的庫。默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那么可以加上參數 --no-site-packages建立虛擬環境
virtualenv --no-site-packages [虛擬環境名稱]
比如
D:\mysite>C:\Python27\Scripts\virtualenv.exe --no-site-packages env_py27
virtualenv可以實現兩個python版本的共存,環境互不影響;使用virtualenv -p python.exe virtualenvname 可以在創建虛擬環境的時候指定python版本,其中python.exe為python解釋器的絕對路徑加上python.exe:
## 為虛擬環境env_py27指定python2.7版本的解釋器 D:\mysite>C:\Python27\Scripts\virtualenv.exe -p C:\Python27\python.exe env_py27
3.啟用虛擬環境
D:\mysite\env_py27>Scripts\activate
4.停用虛擬環境
D:\mysite\env_py27>Scripts\deactivate
5.刪除虛擬環境
D:\mysite>C:\Python27\Scripts\rmvirtualenv env_py27
virtualenvwrapper
我們如果需要切換虛擬環境,則必須先切換到虛擬環境所在目錄,並運行activate,bat,這樣實在是太麻煩了;可以使用virtualenvwrapper對虛擬環境進行一些快捷的管理和操作
1.安裝virtualenvwrapper
pip install virtualenvwrapper-win
2.創建虛擬環境
默認創建的虛擬環境位於C:\Users\username\envs,可以通過環境變量 WORKON_HOME 來定制。
通過計算機-->屬性-->高級系統設置-->環境變量-->在系統變量中新建“變量名”:WORKON_HOME,變量值:“你自定義的路徑”如:E:/Envs。
創建后,會自動激活環境,注意看Shell提示符的改變:
##mkvirtualenv envname # 生成后會自動切換到最新創建的虛擬環境中;
##在E:/Envs下創建venv虛擬環境,命令如下:
mkvirtualenv venv
(venv)c:\> #創建后,自動激活環境
3.相關命令
##列出所有虛擬環境 lsvirtualenv ##列出所有虛擬環境 workon ##激活某個虛擬環境 workon venv(虛擬環境名) ##進入虛擬環境目錄 cdvirtualenv ##進入虛擬環境的site-packages目錄 cdsitepackages ##列出site-packages目錄的所有軟件包 lssitepackages ##停止虛擬環境 deactivate ##刪除虛擬環境 rmvitualenv venv
重建Python環境
1.凍結環境
所謂凍結(freeze)環境,就是將當前環境的軟件包等固定下來:
pip freeze >packages.txt # 安裝包列表保存到文件packages.txt中
2.重建環境
重建(rebuild) 環境就是在部署的時候,在生產環境安裝好對應版本的軟件包,不要出現版本兼容等問題:
pip install -r packages.txt
配合pip,可以批量安裝對應版本的軟件包,快速重建環境,完成部署。
3.創建虛擬環境指定python版本
mkvirtualenv new_env_name --python=指定python.exe路徑 # 或者 virtualenv new_env_name --python=指定python.exe路徑
4.修改安裝源,加速pip安裝速度
pip install -r requirements-win.txt -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com
