您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“python Poetry的基本使用方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“python Poetry的基本使用方法”吧!
poetry是一個(gè)Python虛擬環(huán)境和依賴管理的工具,之前用pipenv,最近學(xué)習(xí)httprunner時(shí),接觸了poetry。poetry和pipenv類似,另外還提供了打包和發(fā)布的功能。
官方文檔:https://python-poetry.org/docs/
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
從文字里可以看到安裝路徑是: $HOME/.poetry/bin ,紅框部分提示了還需要將該目錄添加到PATH環(huán)境變量下。
macOS10.15后終端使用zsh,對(duì)應(yīng)配置文件是 .zshrc ,之前的版本使用bash,對(duì)應(yīng)終端文件是 .bash_profile :
vi .bash_profile # 文件中添加 export PATH=$PATH:/Users/zhoubihui/.poetry/bin 之后:wq保存退出后,執(zhí)行source .bash_profile即可
可在終端輸入命令: poetry --version 來(lái)確認(rèn)是否安裝配置完成。
powershell或cmd中輸入:
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python
解決GitHub網(wǎng)頁(yè)githubusercontent地址無(wú)法訪問(wèn)問(wèn)題
安裝成功后這里有提示,需要將poetry的bin目錄添加到PATH路徑, %USERPROFILE\.poetry\bin 對(duì)應(yīng)是 c:\Users\admin\.poetry\bin ,admin對(duì)應(yīng)計(jì)算機(jī)的用戶名,修改環(huán)境變量,將這個(gè)路徑添加到PATH。
添加之后重開(kāi)一個(gè)命令窗口,可輸入 poetry --version 命令來(lái)確認(rèn)。
poetry可以輸入poetry new來(lái)創(chuàng)建一個(gè)項(xiàng)目腳手架,包括基本結(jié)構(gòu)、pyproject.toml文件,基于每個(gè)人的項(xiàng)目目錄不同,推薦在已有項(xiàng)目添加poetry管理。
在已有的項(xiàng)目使用poetry,只需要執(zhí)行 poetry init 命令來(lái)創(chuàng)建一個(gè)pyproject.toml文件,可看到有很多提示輸入,不確定的內(nèi)容就先按下Enter使用默認(rèn)值,后續(xù)可以再修改pyproject.toml文件。
指定依賴的環(huán)節(jié)也可以跳過(guò),后續(xù)再安裝會(huì)更加高效。
1、利用 virtualenvs.create=true 自動(dòng)創(chuàng)建
當(dāng)參數(shù) virtualenvs.create=true 時(shí),執(zhí)行 poetry install 或 poetry add 時(shí)會(huì)檢測(cè)當(dāng)前項(xiàng)目是否有虛擬環(huán)境,沒(méi)有就自動(dòng)創(chuàng)建。
這里一個(gè)問(wèn)題就是:如果系統(tǒng)中既有Python2又有Python3,且項(xiàng)目既支持Python2也支持Python3,那poetry會(huì)優(yōu)先使用Python2。
2、利用 poetry env use 創(chuàng)建
這個(gè)命令,可以指定創(chuàng)建虛擬環(huán)境時(shí)使用的Python解釋器版本。
從提示信息,可以看到使用了Python3.
使用這個(gè)命令后,會(huì)在虛擬環(huán)境路徑下創(chuàng)建一個(gè)envs.toml文件,用來(lái)存儲(chǔ)哪些虛擬環(huán)境指定了Python解釋器的版本。
執(zhí)行poetry的命令并不需要激活虛擬環(huán)境,因?yàn)閜oetry會(huì)自動(dòng)檢測(cè)當(dāng)前虛擬環(huán)境,如果想在當(dāng)前目錄對(duì)應(yīng)的虛擬環(huán)境中執(zhí)行命令,可以使用以下命令:
poetry run <你的命令> # 例如: poetry run python flask.py
如果想顯示的激活虛擬環(huán)境,使用如下命令:
poetry shell
poetry add flask :安裝最新穩(wěn)定版本的flask
poetry add pytest --dev : 指定為開(kāi)發(fā)依賴,會(huì)寫到pyproject.toml中的[tool.poetry.dev-dependencies]區(qū)域
poetry add flask=2.22.0 : 指定具體的版本
poetry install : 安裝pyproject.toml文件中的全部依賴
poetry install --no-dev : 只安裝非development環(huán)境的依賴,一般部署時(shí)使用
輸入 poetry show -h 可以查看poetry show之后可以加什么參數(shù):
poetry show :查看項(xiàng)目安裝的依賴
poetry show -t :樹(shù)形結(jié)構(gòu)查看項(xiàng)目安裝的依賴
這里解釋下colorama >= 0.4.1,<0.5.0。
安裝某個(gè)包時(shí),會(huì)在pyproject.toml文件中默認(rèn)使用版本限定,比如colorama = "^0.4.1" ,當(dāng)我執(zhí)行 poetry update 時(shí),colorama也許會(huì)更新到0.4.9,但絕不會(huì)更新到0.5.0,意思是在更新依賴時(shí)不會(huì)修改最左邊非零的數(shù)字號(hào)版本,這樣的默認(rèn)設(shè)定可以確保不會(huì)更新到不兼容變動(dòng)的版本。
poetry update:更新所有鎖定版本的依賴
poetry update httprunner :更新指定的依賴
會(huì)將依賴包一起卸載。
加上--full-path,可顯示絕對(duì)路徑。
1、可以直接刪除虛擬環(huán)境文件夾
2、通過(guò) poetry env -h 查看幫助文檔:
所以執(zhí)行刪除虛擬環(huán)境時(shí),指定對(duì)應(yīng)的解析器版本即可。
poetry env remove python2 poetry env remove python3
poetry提供了全局config配置和特定項(xiàng)目的config配置。
windows下的全局config配置文件:
macOS下的全局config配置文件:
目前poetry支持的參數(shù)有:
所以通過(guò)表格也可以確定,poetry config命令: poetry config <key> <value>,key就是表格內(nèi)的參數(shù)名,value就是參數(shù)要配置的值。
可以看到 poetry config 之后可以接[--list]、[--unset]、[--local]。
可以在poetry config后加--local來(lái)配置當(dāng)前項(xiàng)目。
poetry config virtualenvs.create false --local
執(zhí)行后,當(dāng)前項(xiàng)目在執(zhí)行poetry install/poetry add時(shí)如果沒(méi)有虛擬環(huán)境的話就會(huì)直接安裝到系統(tǒng)路徑上。
執(zhí)行后,會(huì)在當(dāng)前項(xiàng)目生成poetry.toml文件:
查看全局配置config.toml文件,可以看到不受影響:
poetry config virtualenvs.create false
這里只是示范使用,virtualenvs.create這個(gè)參數(shù)其實(shí)基本不用修改,保留原值就好。
poetry config的--unset就是用來(lái)重置配置的,如果是重置全局配置:
poetry config virtualenvs.create --unset
如果是重置項(xiàng)目配置:
poetry config virtualenvs.create --local --unset
查看項(xiàng)目下的poetry.toml文件,可以看到值被重置了。
列出當(dāng)前項(xiàng)目的配置可以使用: poetry config --list
這里需要注意,列出配置時(shí),包括了全局和本地的配置,本地的配置會(huì)覆蓋全局的參數(shù):
舉例:virtualenvs.create全局為true,本地為false,那這里 virtualenvs.create=false
接下來(lái),可以按照自己的文件存放習(xí)慣,修改緩存目錄,同時(shí)也修改了虛擬環(huán)境目錄:
poetry config cache-dir E:\Documents\Library
1、如果是已有項(xiàng)目,或GitHub拷貝項(xiàng)目,pyproject.toml文件已存在,首先執(zhí)行poetry install創(chuàng)建虛擬環(huán)境并安裝全部依賴庫(kù),然后再將這個(gè)虛擬環(huán)境添加到pycharm中:
點(diǎn)擊齒輪,show all->+
然后選擇前面創(chuàng)建的虛擬環(huán)境,比如我這個(gè)是:E:\Documents\Library\virtualenvs\httprunner-ih9MoPBn-py3.7\Scripts\python.exe,選中后確定。
2、如果項(xiàng)目和虛擬環(huán)境都沒(méi)創(chuàng)建,首先創(chuàng)建新的Python項(xiàng)目:
這里先選擇系統(tǒng)的python解釋器,創(chuàng)建項(xiàng)目后,執(zhí)行 poetry init 創(chuàng)建pypoetry.toml文件,然后執(zhí)行 poetry add <packageName>或poetry install 創(chuàng)建虛擬環(huán)境,之后同第一點(diǎn),添加已經(jīng)存在的虛擬環(huán)境給對(duì)應(yīng)項(xiàng)目就可以了。
到此,相信大家對(duì)“python Poetry的基本使用方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。