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 標準庫的一部分,這個庫的目的是為開發者提供一種方便的打包方式,同時為使用者提供...