Chr*_*kre 10 pip setuptools setup.py python-packaging python-poetry
我正在开发一个 Python 包,我不想pip install .每次更改某些内容时都必须继续运行以重新安装我的包。除非我有文件,否则使用-eor--editable似乎不起作用setup.py,也没有--no-use-pep517。pyproject.toml如果我没记错的话,我有一个替代方案,这是现在的首选。那么,现在最好的方法是什么?
我的包只是一个 CLI 脚本,但它从同一目录中另一个名为utils.py. 开发时,我不能只从终端手动运行脚本,因为这样我会从行中得到“name_of_package不是一个包from name_of_package.utils import function” 。而如果我只有from utils import function,我可以从终端运行脚本,但是当我pip install运行时,它会说“没有名为utils”的模块。
我确实安装poetry并安装了我的依赖项,运行poetryshell,然后尝试使用 运行我的脚本poetry run /path/to/script.py,但我不断收到错误消息,指出我的包不是包。
sin*_*roc 14
如今,使用setuptools作为构建后端,您可以选择使用setup.py、setup.cfg、pyproject.toml或这三个文件的任意组合来声明项目的元数据并配置项目的打包。由于pyproject.toml它是标准化的,因此成为首选(见下文)。所有这些都与可编辑安装兼容 ( python -m pip install --editable .)。
可编辑的安装机制有一个标准规范(由PEP 660文档发起)。除了setuptools之外,许多构建后端都支持它。这些是我所知道的支持标准化可编辑安装机制的构建后端:
ensconsflit-core(看flit)hatchling(看hatch)maturinmeson-pythonpdm-backend(看pdm)poetry-core(看poetry)setuptoolswhey所有这些构建后端都可以进行配置pyproject.toml(包括对标准化[build-system]部分的支持),并且除了Poetry之外的所有后端都支持标准化[project]部分。我这里有一个比较表。
参考:
| 归档时间: |
|
| 查看次数: |
5472 次 |
| 最近记录: |