库
库 #
本章将介绍如何通过 Poetry 使您的库可安装。
版本控制 #
Poetry 要求所有项目都使用 PEP 440 兼容的版本。
虽然 Poetry 不强制执行任何发布约定,但它曾经鼓励在 PEP 440 的范围内使用 语义版本控制,并支持 版本约束,这些约束特别适合语义版本控制。
锁定文件 #
对于您的库,如果您愿意,可以提交 poetry.lock
文件。这可以帮助您的团队始终针对相同的依赖项版本进行测试。但是,此锁定文件不会对依赖它的其他项目产生任何影响。它只对主项目有影响。
如果您不想提交锁定文件并且您正在使用 git,请将其添加到 .gitignore
中。
打包 #
在您实际发布库之前,您需要对其进行打包。
poetry build
此命令将以两种不同的格式打包您的库:sdist
是源代码格式,wheel
是 编译
包。
Poetry 在构建包时会自动包含一些元数据文件。构建 wheel
时,以下文件将包含在 .dist-info
目录中
LICENSE
LICENSE.*
COPYING
COPYING.*
LICENSES/**
构建 sdist
时,以下文件将包含在根文件夹中
LICENSE*
构建完成后,您就可以发布您的库了。
发布到 PyPI #
好的,现在您可以发布包了。
Poetry 默认情况下会发布到 PyPI。发布到 PyPI 的任何内容都可通过 Poetry 自动获取。由于 pendulum 在 PyPI 上,因此我们可以依赖它,而无需指定任何其他仓库。
如果我们想与 Python 社区共享 poetry-demo
,我们也会在 PyPI 上发布它。这样做非常容易。
poetry publish
这将打包并将库发布到 PyPI,前提是您是注册用户,并且已 正确配置了您的凭据。
publish
命令默认情况下不会执行 build
。
如果您想一起构建和发布您的包,只需传递 --build
选项。
完成此操作后,您的库将对任何人都可用。
发布到私有仓库 #
有时,您可能希望将您的库保持私密,但也要让您的团队能够访问它。
在这种情况下,您需要使用私有仓库。
为了发布到私有仓库,您需要将其添加到您的全局仓库列表中。有关更多信息,请参阅 添加仓库。
完成此操作后,您可以像这样发布到它
poetry publish -r my-repository