a_g*_*est 96 python pip setuptools python-poetry pyproject.toml
当一个项目仅通过via pyproject.toml(即没有文件)指定时setup.{py,cfg},如何以可编辑模式通过via pip(即python -m pip install -e .)安装它?
我尝试了setuptools和poetry构建系统,但都不起作用:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Run Code Online (Sandbox Code Playgroud)
我在两个构建系统上都遇到相同的错误:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)
我在conda环境中使用它,以下是我的setuptools和版本pip:
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Run Code Online (Sandbox Code Playgroud)
Leo*_*ark 84
PEP 660 \xe2\x80\x93 基于 pyproject.toml 的构建的可编辑安装定义了如何构建仅使用pyproject.toml. 构建工具必须实现 PEP 660 才能使可编辑安装正常工作。您需要一个前端(例如pip \xe2\x89\xa5 21.3)和一个后端。一些流行后端的状态是:
注意:为了能够对您的用户站点进行可编辑的安装 ( pip install -e --user),您需要安装v62.0.0 或更高版本的系统。setuptools
J. *_*ner 67
当我搜索错误字符串“ (A "pyproject.toml" file was found, but editable mode currently requires a setuptools-based build.)”时,我偶然发现了这里
就我而言,我所需要做的就是更新 pip:
python3 -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
然后安装就正常了。
wim*_*wim 24
注意:不再需要此解决方法。自v64.0.0 (2022 年 8 月)起,Setuptools 支持可编辑安装。对于出于某种原因坚持使用旧的 setuptools 版本的人们来说,旧的答案仍然在下面......
作为 setuptools 实现 PEP 660 ( #2816 )之前的临时解决方法,您可以创建一个空的安装文件,仅用于可编辑安装的目的。
touch setup.cfg
pip install -e .
rm setup.cfg
Run Code Online (Sandbox Code Playgroud)
注意:这实际上并没有调用任何build_editable钩子(目前在 setuptools 的后端中甚至不存在),而是触发 pip 中的代码路径,该路径创建一个临时文件setup.py,然后执行setup.py develop. 因此,这是一个“遗留”可编辑安装,通过在路径配置文件(如.venv/lib/python3.XY/site-packages/easy-install.pth. Poetry 和 flit 的做法类似,只是它们mypkg.pth在站点目录中创建单独的路径文件,而不是使用easy-install.pth.
因为setup.py develop是路径文件黑客,所以此类开发安装的常见注意事项适用,例如,它会公开源目录中恰好存在的任何 .py 文件,即使它们在创建版本时实际上并未打包到真正的发行版中。
| 归档时间: |
|
| 查看次数: |
49018 次 |
| 最近记录: |