我正在尝试将一个pyproject.toml添加到一个一直使用setup.py的项目中,以启用pipx的支持。我想指定这个项目在pyproject.toml中包含的命令行脚本,但是我可以找到的所有指南都给出了用于诗歌的指导,而我没有使用这些指导。
我也不想为模块指定入口点--我已经有了工作命令行脚本,只想指定这些脚本。
pyproject.toml中是否有指定命令行脚本的适当位置?
不确定这是否重要,但所讨论的包是切块。
发布于 2022-07-21 13:15:09
更新2022年7月:如果TOML文件使用setuptools作为其构建系统,setuptools将很高兴地创建和安装一个控制台脚本。例如,我的pyproject.toml文件的启动方式如下:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"使用这样的条目扩展您的pyproject.toml文件,命名包、模块和入口点函数名:
[project.scripts]
my-client = "my_package.my_module:main_cli"然后运行安装顺序:
pip3 install .setuptools将在我的Py3.9虚拟环境的bin目录(~/..virtualenvs/py39/bin)中为我安装一个名为my-client的shell脚本。
我做了一件类似的事情,升级了一个有setup.py的包,而且我没有现有的脚本。通过重写使用pyproject.toml,我完全放弃了旧的setup.py文件。
我意识到OP要求一种安装现有脚本的方法,而我并没有提供这种方法。这个答案告诉setuptools创建和安装新脚本。
https://stackoverflow.com/questions/63326840
复制相似问题