我有一个像这样的setup.py:
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(
name="myproject",
package_dir={"": "src"},
packages=find_packages("src"),
entry_points={
"console_scripts": [
"my-script = myproject.myscript:entrypoint",
],
},
)
如何使用 setuptools 在 pyproject.toml 中编写
entry_points
配置?
我猜测类似这样的事情,继续setuptools' pyproject.toml文档,它说我需要在引用入口点的文档之后使用“INI格式”,但它似乎没有给出例如,我对如何将 setuptools 语法与 pyproject.toml 语法结合起来的猜测是错误的(我从
pip install -e .
得到了一个回溯,报告 pip._vendor.tomli.TOMLDecodeError: Invalid value
,指向 pyproject.toml 中的 entry-points
行):
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[metadata]
name = "myproject"
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.dynamic]
entry-points =
my-script = myproject.myscript:entrypoint
注意,我在 pyproject.toml 旁边有一个存根 setup.py,如下所示(我读到我需要支持
pip install -e .
,即“可编辑安装”):
from setuptools import setup
if __name__ == "__main__":
setup()