溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python Poetry的基本使用方法

發(fā)布時(shí)間:2021-07-10 14:48:38 來(lái)源:億速云 閱讀:993 作者:chen 欄目:編程語(yǔ)言

本篇內(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/

安裝

macOS或Linux

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

python Poetry的基本使用方法

從文字里可以看到安裝路徑是: $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)是否安裝配置完成。

windows

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)題

python Poetry的基本使用方法

安裝成功后這里有提示,需要將poetry的bin目錄添加到PATH路徑, %USERPROFILE\.poetry\bin 對(duì)應(yīng)是 c:\Users\admin\.poetry\bin ,admin對(duì)應(yīng)計(jì)算機(jī)的用戶名,修改環(huán)境變量,將這個(gè)路徑添加到PATH。

python Poetry的基本使用方法

添加之后重開(kāi)一個(gè)命令窗口,可輸入 poetry --version 命令來(lái)確認(rèn)。

python Poetry的基本使用方法

基本使用

已有項(xiàng)目添加poetry管理

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ì)更加高效。

python Poetry的基本使用方法

創(chuàng)建虛擬環(huán)境

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)建。

python Poetry的基本使用方法

這里一個(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解釋器版本。

python Poetry的基本使用方法

從提示信息,可以看到使用了Python3.

使用這個(gè)命令后,會(huì)在虛擬環(huán)境路徑下創(chuàng)建一個(gè)envs.toml文件,用來(lái)存儲(chǔ)哪些虛擬環(huán)境指定了Python解釋器的版本。

python Poetry的基本使用方法

激活虛擬環(huán)境

執(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ù):

python Poetry的基本使用方法

poetry show :查看項(xiàng)目安裝的依賴

python Poetry的基本使用方法

poetry show -t :樹(shù)形結(jié)構(gòu)查看項(xiàng)目安裝的依賴

python Poetry的基本使用方法

這里解釋下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 :更新指定的依賴

python Poetry的基本使用方法

卸載依賴

python Poetry的基本使用方法

會(huì)將依賴包一起卸載。

查找當(dāng)前項(xiàng)目的虛擬環(huán)境

python Poetry的基本使用方法

加上--full-path,可顯示絕對(duì)路徑。

python Poetry的基本使用方法

刪除虛擬環(huán)境路徑

1、可以直接刪除虛擬環(huán)境文件夾

2、通過(guò) poetry env -h 查看幫助文檔:

python Poetry的基本使用方法

所以執(zhí)行刪除虛擬環(huán)境時(shí),指定對(duì)應(yīng)的解析器版本即可。

poetry env remove python2 
poetry env remove python3

poetry config配置

config.toml文件

poetry提供了全局config配置和特定項(xiàng)目的config配置。

windows下的全局config配置文件:

python Poetry的基本使用方法

macOS下的全局config配置文件:

python Poetry的基本使用方法

目前poetry支持的參數(shù)有:

python Poetry的基本使用方法

所以通過(guò)表格也可以確定,poetry config命令: poetry config <key> <value>,key就是表格內(nèi)的參數(shù)名,value就是參數(shù)要配置的值。

poetry confiig

python Poetry的基本使用方法

可以看到 poetry config 之后可以接[--list]、[--unset]、[--local]。

本地參數(shù)配置

可以在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文件:

python Poetry的基本使用方法

python Poetry的基本使用方法

查看全局配置config.toml文件,可以看到不受影響:

python Poetry的基本使用方法

全局配置

poetry config virtualenvs.create false

這里只是示范使用,virtualenvs.create這個(gè)參數(shù)其實(shí)基本不用修改,保留原值就好。

重置配置

poetry config的--unset就是用來(lái)重置配置的,如果是重置全局配置:

poetry config virtualenvs.create --unset

python Poetry的基本使用方法

如果是重置項(xiàng)目配置:

poetry config virtualenvs.create --local --unset

查看項(xiàng)目下的poetry.toml文件,可以看到值被重置了。

列出當(dāng)前配置

列出當(dāng)前項(xiàng)目的配置可以使用: poetry config --list

python Poetry的基本使用方法

這里需要注意,列出配置時(shí),包括了全局和本地的配置,本地的配置會(huì)覆蓋全局的參數(shù):

舉例:virtualenvs.create全局為true,本地為false,那這里 virtualenvs.create=false

python Poetry的基本使用方法

修改虛擬環(huán)境路徑

接下來(lái),可以按照自己的文件存放習(xí)慣,修改緩存目錄,同時(shí)也修改了虛擬環(huán)境目錄:

poetry config cache-dir E:\Documents\Library

python Poetry的基本使用方法

Pycharm中使用poetry創(chuàng)建的虛擬環(huán)境路徑

1、如果是已有項(xiàng)目,或GitHub拷貝項(xiàng)目,pyproject.toml文件已存在,首先執(zhí)行poetry install創(chuàng)建虛擬環(huán)境并安裝全部依賴庫(kù),然后再將這個(gè)虛擬環(huán)境添加到pycharm中:

python Poetry的基本使用方法

python Poetry的基本使用方法

點(diǎn)擊齒輪,show all->+

python Poetry的基本使用方法

然后選擇前面創(chuàng)建的虛擬環(huán)境,比如我這個(gè)是:E:\Documents\Library\virtualenvs\httprunner-ih9MoPBn-py3.7\Scripts\python.exe,選中后確定。

python Poetry的基本使用方法

2、如果項(xiàng)目和虛擬環(huán)境都沒(méi)創(chuàng)建,首先創(chuàng)建新的Python項(xiàng)目:

python Poetry的基本使用方法

這里先選擇系統(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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI