背景:在Python項(xiàng)目中阐枣,涉及到使用虛擬環(huán)境來運(yùn)行項(xiàng)目的需求马靠,主要目的是通過虛擬環(huán)境來隔離依賴包的環(huán)境,防止依賴沖突的情況蔼两。
目的:本文主要介紹如何創(chuàng)建虛擬環(huán)境運(yùn)行Python項(xiàng)目甩鳄,以及在開源Python項(xiàng)目中,對(duì)包依賴生成requirements.txt额划。
如何使用Python虛擬環(huán)境以及生成requirements.txt
-
安裝虛擬環(huán)境相關(guān)包:
pip install virtualenv
-
生成虛擬環(huán)境:在目標(biāo)Python項(xiàng)目文件下創(chuàng)建虛擬環(huán)境文件妙啃,venv為虛擬環(huán)境文件名,可自行修改
virtualenv venv
Bug Fix:這一步中俊戳,同時(shí)Python的版本是在2.7.11以及之后的Python版本揖赴,可能會(huì)出現(xiàn)Symbol not found: __PyCodecInfo_Get Incremental這樣的error。解決方法是通過把Python版本降回到2.7.10抑胎。如果你使用的是aconda的包管理燥滑,腳本是conda install python=2.7.10
-
運(yùn)行虛擬環(huán)境:進(jìn)入虛擬環(huán)境,然后就可以正常使用pip安裝和運(yùn)行項(xiàng)目
source venv/bin/activate
- p.s. 參考文章中阿逃,針對(duì)不同project有不同虛擬環(huán)境難以管理的問題铭拧,采用wrapper的方式解決。
-
生成依賴包環(huán)境文件:通過以下命令對(duì)python項(xiàng)目相關(guān)的包都寫進(jìn)requirements.txt
pip freeze > requirements.txt