这个工具是在群里看见别人说好用的,所以了解一下。
1.poetry初始
官网:https://python-poetry.org/
项目仓库:https://github.com/python-poetry 或 https://github.com/python-poetry/poetry
教程:https://python-poetry.org/docs/basic-usage/
poetry 将所有的配置都放置在一个 toml 文件中,这些配置包括:依赖管理、构建、打包、发布。 poetry需要Python 3.8+。它是多平台的,目标是使其在 Linux、macOS 和 Windows 上同样运行良好。
1.1安装
Poetry 应始终安装在专用的虚拟环境中,以将其与系统的其他部分隔离。在任何情况下都不应将其安装在由 Poetry 管理的项目环境中。这确保了Poetry自己的依赖项不会被意外升级或卸载。(以下每种安装方法均确保将 Poetry 安装到隔离环境中。)此外,不应激活安装 Poetry 的隔离虚拟环境来运行 Poetry 命令。【官方说的】
pipx install poetry或
pipx install poetry==1.2.0
1.2配置
poetry 的项目配置文件是 pyproject.toml ,一个简单的示例文件如下:
[tool.poetry]
name = "poetry"
version = "0.11.5"
description = "Python dependency management and packaging made easy."
authors = ["Sébastien Eustace <sebastien@eustace.io>"
]
license = "MIT"readme = "README.md"homepage = "https://poetry.eustace.io/"
repository = "https://github.com/sdispater/poet"
documentation = "https://poetry.eustace.io/docs"keywords = ["packaging", "dependency", "poetry"]classifiers = ["Topic :: Software Development :: Build Tools","Topic :: Software Development :: Libraries :: Python Modules"
]# Requirements
[tool.poetry.dependencies]
python = "~2.7 || ^3.4"
cleo = "^0.6.7"
requests = "^2.18"
cachy = "^0.2"
requests-toolbelt = "^0.8.0"
jsonschema = "^2.6"
pyrsistent = "^0.14.2"
pyparsing = "^2.2"
cachecontrol = { version = "^0.12.4", extras = ["filecache"] }
pkginfo = "^1.4"
html5lib = "^1.0"
shellingham = "^1.1"
tomlkit = "^0.4.4"# The typing module is not in the stdlib in Python 2.7 and 3.4
typing = { version = "^3.6", python = "~2.7 || ~3.4" }# Use pathlib2 for Python 2.7 and 3.4
pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" }
# Use virtualenv for Python 2.7 since venv does not exist
virtualenv = { version = "^16.0", python = "~2.7" }[tool.poetry.dev-dependencies]
pytest = "^3.4"
pytest-cov = "^2.5"
mkdocs = "^1.0"
pymdown-extensions = "^4.9"
pygments = "^2.2"
pytest-mock = "^1.9"
pygments-github-lexers = "^0.0.5"
black = { version = "^18.3-alpha.0", python = "^3.6" }
pre-commit = "^1.10"
tox = "^3.0"[tool.poetry.scripts]
poetry = "poetry.console:main"
1.3命令
poetry 提供了一系列覆盖整个开发流程的命令,这些命令使用简单:
2.了解pipx库
官网:https://pipx.pypa.io/stable/
项目地址:https://github.com/pypa/pipx
关于pipx与其他工具的比较:https://pipx.pypa.io/stable/comparisons/
没用过,用了再来补充。