摘要:應(yīng)用在開(kāi)發(fā)中會(huì)使用各種各樣的包,通常我們會(huì)用來(lái)對(duì)各應(yīng)用項(xiàng)目依賴的解釋器版本及其包進(jìn)行隔離。應(yīng)用的外部第三方包的依賴由設(shè)定,并在時(shí)帶入應(yīng)用的目錄作為依賴。我們需要一種把各組腳本運(yùn)行環(huán)境隔離的方式,就是用解決。
python freeze
python應(yīng)用在開(kāi)發(fā)中會(huì)使用各種各樣的包,通常我們會(huì)用venv來(lái)對(duì)各應(yīng)用項(xiàng)目依賴的python解釋器版本及其包進(jìn)行隔離。
應(yīng)用中import的各種包如何“固定”住呢? pip提供方法 freeze,將依賴的包名及版本導(dǎo)出到txt文件中,日后其他人引入項(xiàng)目時(shí),可以通過(guò)pip提供的方法直接導(dǎo)入,簡(jiǎn)單來(lái)說(shuō):
pip freeze > requirements.txt pip install -r requirements.txt
跟java的maven倉(cāng)庫(kù)導(dǎo)入差不多, 更輕量環(huán)保。
virtual envjava應(yīng)用的使用中,我們都會(huì)指定項(xiàng)目的jdk路徑。大多數(shù)情況,一般可能每個(gè)開(kāi)發(fā)機(jī)器上都會(huì)有1-3個(gè)版本的JDK, 如 jdk6, jdk7, jdk8,通常這樣就夠了。 然后會(huì)在系統(tǒng)PATH變量中指定一下JAVA_HOME路徑。
java應(yīng)用的外部第三方包的依賴由maven設(shè)定,并在build時(shí)帶入應(yīng)用的目錄作為依賴。
python的控制方式略有不同,由于python本身自帶了pip這個(gè)包管理工具。而且由于python是動(dòng)態(tài)化的腳本語(yǔ)言,可能會(huì)有好幾組不同的腳本分布在不同的目錄組織,由于開(kāi)發(fā)周期的原因,各個(gè)目錄的腳本依賴的python解釋器,包可能會(huì)不同,一個(gè)在python2跑的好好的腳本用python3的解釋器一般都會(huì)出錯(cuò)。
我們需要一種把各組腳本運(yùn)行環(huán)境隔離的方式,就是用virtual env解決。
具體方式就是在python項(xiàng)目的根目錄中:
|—myPythonProject |———codePackage
運(yùn)行:
virtualenv -p python3 env
-p 代表創(chuàng)建一個(gè)python3的虛擬環(huán)境
env 代表該虛擬環(huán)境的目錄叫env
運(yùn)行后的目錄結(jié)構(gòu)為:
|—myPythonProject |———codePackage |———env |——bin |——lib |——include
然后我們需要激活這個(gè)虛擬環(huán)境:
source env/bin/activate
激活后環(huán)境提示符變?yōu)椋?/p>
(env) ? knife git:(master) ?
表示此時(shí)該環(huán)境已經(jīng)是這個(gè)項(xiàng)目所需的虛擬python3環(huán)境了,此時(shí)pip install 所有的package都會(huì)被安裝在env/lib/python3.5/site-packages目錄下了,不會(huì)受到其他python項(xiàng)目安裝的package包影響。
如果使用pyCharm等IDE,需要在項(xiàng)目創(chuàng)建時(shí)指定項(xiàng)目對(duì)應(yīng)的project interpreter,如下圖:
文章來(lái)自微信平臺(tái)「麥芽面包」
微信公眾號(hào)「darkjune_think」轉(zhuǎn)載請(qǐng)注明。
如果覺(jué)得有趣,微信掃一掃關(guān)注公眾號(hào)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44304.html
引入—— 解決兩個(gè)在python開(kāi)發(fā)中很常見(jiàn)的問(wèn)題: Python很萬(wàn)能,這誰(shuí)都知道(我也知道哈),但這就意味著——Python的庫(kù)多,是真的多!你要用哪個(gè)庫(kù),就直接下載!pip install!很簡(jiǎn)單吧,是很簡(jiǎn)單!但是,這樣會(huì)很直接的帶來(lái)一個(gè)問(wèn)題,也是很多新手容易犯得——你一看他的Python環(huán)境,全是第三方包,密密麻麻的,甚至于開(kāi)個(gè)pycharm,加載第三方包都得加載半年,他還不知道為啥(傻...
摘要:坑人的版本的版本問(wèn)題一直是個(gè)廣被吐槽的黑點(diǎn)。這些版本的沖突在開(kāi)發(fā)中十分常見(jiàn),而和的版本差異又加劇了這一問(wèn)題。從而避免與其他版本發(fā)生干擾。 坑人的版本 Python 的版本問(wèn)題一直是個(gè)廣被吐槽的黑點(diǎn)。以至于有人調(diào)侃說(shuō): Python 是世界上最好的兩種語(yǔ)言! 在這里我要說(shuō)明下,對(duì)于初學(xué)者來(lái)說(shuō),版本間的語(yǔ)法差異其實(shí)并不大。現(xiàn)在剛開(kāi)始學(xué) Python 的人,放心大膽地 用最新版本 即可。業(yè)內(nèi)...
摘要:為了安裝科學(xué)計(jì)算環(huán)境,控制好版本,今天上午總算折騰好了。切換和使用新的虛擬環(huán)境這樣就能切換為這個(gè)版本的虛擬環(huán)境。通過(guò)輸入查看現(xiàn)在版本,可以發(fā)現(xiàn)處于虛擬環(huán)境下了。指定包的版本多個(gè)版本并存,尤其是和的并存。下面用創(chuàng)建一個(gè)名叫的版本為的環(huán)境。 為了安裝Anaconda科學(xué)計(jì)算環(huán)境,控制好python版本,今天上午總算折騰好了。 學(xué)習(xí)python有時(shí)希望在python2.7環(huán)境下,有時(shí)希望在...
摘要:移除指定的虛擬環(huán)境,移除的前提是當(dāng)前沒(méi)有在該環(huán)境中工作。如在該環(huán)境工作,先使用退出。 進(jìn)行不同的 python 項(xiàng)目開(kāi)發(fā),有的時(shí)候會(huì)遇到這樣的情況:python 版本不一樣,使用的軟件包版本不一樣。這種問(wèn)題最佳的解決辦法是使用 virtualenv 為不同的項(xiàng)目搭建獨(dú)立的 python 環(huán)境。 virtualenv 安裝 sudo pip install virtualenv ...
閱讀 1748·2023-04-25 16:28
閱讀 684·2021-11-23 09:51
閱讀 1467·2019-08-30 15:54
閱讀 1149·2019-08-30 15:53
閱讀 2816·2019-08-30 15:53
閱讀 3413·2019-08-30 15:43
閱讀 3250·2019-08-30 11:18
閱讀 3262·2019-08-26 10:25