uri*_*rig 4 python sdist python-packaging python-poetry
我在一个存储库中有两个 Python 项目,它们都依赖于共享实用程序包。我的目标是将这两个项目分别打包在一个软件分发包中(即一个.tzr.gz文件)
我目前正在使用以下方法完成此操作setuptools和setup.py文件来完成这项工作,但遇到了困难。我更愿意使用 Poetry 来分别管理和打包这两个项目。
请考虑我的问题的“最小重现”:
\nrepo\n project1/ \n __init__.py\n main_module.py\n pyproject.toml\n project2/ \n __init__.py\n main_module.py\n pyproject.toml\n util/\n __init__.py\n util_module.py\nRun Code Online (Sandbox Code Playgroud)\n我试图通过修改Poetryutil在构建时包含该包project1project.toml:
[tool.poetry]\nname = "project1"\nversion = "0.1.0"\ndescription = ""\nauthors = [""]\npackages = [\n { include = "../util/*.py" }\n]\n\n[tool.poetry.dependencies]\npython = "^3.9"\n\n[tool.poetry.dev-dependencies]\npytest = "^5.2"\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\n\nRun Code Online (Sandbox Code Playgroud)\n当我跑步时poetry build我收到此错误:
Building project1 (0.1.0)\n - Building sdist\n\n ValueError\n\n \'C:\\\\repo\\\\util\\\\__init__.py\' is not in the subpath of \'C:\\\\repo\\\\project1\' OR one path is relative and the other is absolute.\n\n at ~\\.pyenv\\pyenv-win\\versions\\3.9.6\\lib\\pathlib.py:929 in relative_to\n 925\xe2\x94\x82 n = len(to_abs_parts)\n 926\xe2\x94\x82 cf = self._flavour.casefold_parts\n 927\xe2\x94\x82 if (root or drv) if n == 0 else cf(abs_parts[:n]) != cf(to_abs_parts):\n 928\xe2\x94\x82 formatted = self._format_parsed_parts(to_drv, to_root, to_parts)\n \xe2\x86\x92 929\xe2\x94\x82 raise ValueError("{!r} is not in the subpath of {!r}"\n 930\xe2\x94\x82 " OR one path is relative and the other is absolute."\n 931\xe2\x94\x82 .format(str(self), str(formatted)))\n 932\xe2\x94\x82 return self._from_parsed_parts(\'\', root if n == 1 else \'\',\n 933\xe2\x94\x82 abs_parts[n:])\n\nRun Code Online (Sandbox Code Playgroud)\n没有poetry支持我的用例?如果没有,我错过了什么?
或者,请建议另一种方法来分别打包我的两个项目,但两个包都必须包含共享的util包。
| 归档时间: |
|
| 查看次数: |
10732 次 |
| 最近记录: |