Python包管理之poetry的使用

2022-04-03 01:46:56 字數 2782 閱讀 5878

poetry是乙個python虛擬環境和依賴管理的工具,之前用pipenv,最近學習httprunner時,接觸了poetry。poetry和pipenv類似,另外還提供了打包和發布的功能。

官方文件:python-poetry.org/docs/

python專案部署:poetry管理本地環境,上線用docker

poetry安裝

方式二:(pip)

$ pip install --user poetry

如果當前還沒有建立工程,可以使用poetry新建工程:

輸入poetry new來建立乙個專案腳手架,包括基本結構、pyproject.toml檔案。

$ poetry new poetry-demo

這時候,會建立乙個包含如下內容的工程,

poetry-demo

├── pyproject.toml

├── readme.rst

├── poetry_demo

│ └── __init__.py

└── tests

├── __init__.py

└── test_poetry_demo.py

除了新建工程,還可以在已有工程的基礎上進行建立,

$ poetry init

這時候,它會讓你輸入包名稱、版本號等資訊,你可以選擇輸入,也可以選擇按下enter鍵使用預設值,完成以後,pyproject.toml如以下格式:

name = "

poetry-demo

"version = "

0.1.0

"description = ""

authors = ["

wenli"]

[tool.poetry.dependencies]

python = "*"

[tool.poetry.dev-dependencies]

pytest = "

^3.4

"

安裝依賴包

可以使用install命令直接解析並安裝pyproject.toml的依賴包

$ poetry install

pyproject.toml檔案的配置如下:
[tool.poetry.dependencies]

pendulum = "

^1.4

"

也可以可以使用add命令來安裝一款python工具包,

$ poetry add numpy

還可以,通過新增配置引數--dev來區分不同環境下的依賴包。

詳細:poetry add flask :安裝最新穩定版本的flask

poetry add pytest --dev : 指定為開發依賴,會寫到pyproject.toml中的[tool.poetry.dev-dependencies]區域

poetry add flask=2.22.0 : 指定具體的版本

poetry install : 安裝pyproject.toml檔案中的全部依賴

poetry install --no-dev : 只安裝非development環境的依賴,一般部署時使用

更新所有鎖定版本的依賴包

$ poetry update

更新指定依賴包

$ poetry update numpy

解除安裝依賴包

$ poetry remove numpy

檢視可以更新的依賴

$ poetry show --outdated

檢視專案安裝的依賴

$ poetry show

樹形結構檢視專案安裝的依賴

$ poetry show -t

建立虛擬環境

建立虛擬環境有2種方式:

方式1:

如果在配置檔案中配置了virtualenvs.create=true,執行poetry install時會檢查是否有虛擬環境,否則會自動建立。

方式2:

指定建立虛擬環境時使用的python直譯器版本

$ poetry env use python3.7

啟用虛擬環境

$ poetry shell

檢視虛擬環境資訊

$ poetry env info

顯示虛擬環境列表

$ poetry env list

顯示虛擬環境絕對路徑

$ poetry env list --full-path

刪除虛擬環境

$ poetry env remove python3.7

檢視python版本

$ poetry run python -v

python包管理 關於python包管理

有著41個物件 檔案或者資料夾 1 其中linester 1.0.0 py2.7.egg info檔案 是安裝mynester跟yournester的資訊總結,他們使用了python setup.py install 的安裝方式。學會使用distutils發布包,見文章 但是在linester 1....

Python依賴管理及打包工具Poetry使用規範

目錄 可以以各種形式指定專案的依賴項,取決於依賴項的型別以及安裝專案可能需要的可選約束 約束 編寫規範 允許的版本範圍 1.2.3 1.2.3 2.0.0 1.2 1.2.0 2.0.0 1 1.0.0 2.0.0 0.2.3 0.2.3 0www.cppcns.com.3.0 0.0.3 0.0....

Python之包管理工具

安裝python包的過程中,經常涉及到distutils setuptools distribute setup.py easy install easy install和pip等等。distutils 是 python 標準庫的一部分,這個庫的目的是為開發者提供一種方便的打包方式,同時為使用者提供...