如果我想开发一个仅在Linux和macOS上工作的Python包。我该如何在Python Poetry中指定这个限制?
如果我想开发一个仅在Linux和macOS上工作的Python包。我该如何在Python Poetry中指定这个限制?
pyproject.toml
文件中,Trove分类器可用于指定支持哪些操作系统。对于Linux和MacOS,这将是:[tool.poetry]
classifiers = [
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux"
]
poetry install
命令时尝试在其他平台上安装软件包。支持特定于平台的wheel标签已在GitHub问题#2051中提出,该问题正在写作时列入诗歌1.2版本发布的待办事项列表。[tool.poetry.dependencies]
yourpackage = {version = "*", markers = "sys_platform == 'linux' or sys_platform == 'darwin'"}
poetry install
时,诗歌将忽略yourpackage
,但不会产生任何错误。如果它是一个硬性依赖项,则最好在其他地方指示支持哪些平台。sys_platform
标记。pyproject.toml
文件中添加了两行:[tool.poetry.dependencies]
...
sys_platform = "linux"
platform_machine = "x86_64"
并运行poetry build
。然而,生成的wheel名称仍然是 package-version-py3-none-any.whl
而不是预期的package-version-py3-linux-x86_64.whl
。我还没有完全掌握它... - HolKann[tool.poetry.dependencies] python = {version="^3.7", markers="sys_platform=='linux'"}
- Sujal Singh[tool.poetry.dependencies] cppyy = {version="^2.1.0", markers="sys_platform=='linux'"}
编译了,但没有改变 none-any.whl
。我也有这样的感觉,这会改变包依赖项的平台限制,而不是包本身的平台限制。 - HolKann
pyproject.toml
文件吗? - Sabil