pyproject.toml 文件的用途是什么?

2023-12-21

背景

我正准备尝试从 GitHub 下载的 Python 包,发现它没有setup.py,所以我无法安装它

pip install -e <folder>

相反,该包有一个pyproject.toml文件似乎有非常相似的条目setup.py通常有。

我发现了什么

谷歌搜索引导我进入PEP-518 https://www.python.org/dev/peps/pep-0518/它提出了一些批评setup.py in 基本原理 https://www.python.org/dev/peps/pep-0518/#rationale部分。但是,它并没有明确说明使用setup.py应该避免,或者pyproject.toml会因此完全取代setup.py.

问题

Is the pyproject.toml用来代替的东西setup.py?或者一个包应该同时包含两者,一个pyproject.toml and a setup.py?
如何安装一个项目pyproject.toml处于可编辑状态?


Yes, pyproject.toml是指定的文件格式PEP 518 https://www.python.org/dev/peps/pep-0518/其中包含 Python 项目的构建系统要求。

这解决了构建工具依赖鸡和蛋的问题,即pip可以阅读pyproject.toml以及什么版本的setuptools or wheel有人可能需要。

如果您需要一个setup.py对于可编辑的安装,您可以使用垫片setup.py:

#!/usr/bin/env python

import setuptools

if __name__ == "__main__":
    setuptools.setup()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyproject.toml 文件的用途是什么? 的相关文章

  • 打包 Perl 应用程序,以便它可以在 Perl 的默认前缀之外工作

    我正在使用 Module Build 尽管我在构建环境上很灵活 来打包我正在编写的一些 Perl 软件 供我工作的内部使用 它包括一些脚本和一些辅助模块 我的计划是这样你就可以指定任何你想要的前缀 即perl默认值之外的东西 INC 在构建
  • 从 torch.autograd.gradcheck 导入 zero_gradients

    我想复制代码here https github com LTS4 DeepFool blob master Python deepfool py 并且我在 Google Colab 中运行时收到以下错误 ImportError 无法导入名称
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • Python Selenium 打印另存为 PDF 等待文件名输入

    我正在尝试通过打印对话框将网站另存为 PDF 我的代码允许我另存为pdf 但要求我输入文件名 我不知道如何将文件名传递到弹出框 附上我的代码 import time from selenium import webdriver import
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • Pandas 字典键到列[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 index column1 e1 u c680 5 u c681 1 u c682 2 u c57 e2 u c680 6 u c681 2 u c682 1 u c57 e3 u c68
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 使用 ElementTree 在 python 中解析 xml

    我对 python 很陌生 我需要解析一些脏的 xml 文件 这些文件需要先清理 我有以下 python 代码 import arff import xml etree ElementTree import re totstring wit
  • pandas groupby 操作缺少数据

    在 pandas 数据框中 我有一列如下所示 0 M 1 E 2 L 3 M 1 4 M 2 5 M 3 6 E 1 7 E 2 8 E 3 9 E 4 10 L 1 11 L 2 12 M 1 a 13 M 1 b 14 M 1 c 15
  • Eclipse/PyDev 中未使用导入警告,尽管已使用

    我正在我的文件中导入一个绘图包 如下所示 import matplotlib pyplot as plt 稍后我会在我的代码中成功使用此导入 fig plt figure figsize 16 10 然而 Eclipse 告诉我 未使用的导
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • AWS 将 MQTT 消息存储到 DynamoDB

    我构建了一个定期发送 MQTT 消息的 python 脚本 这是发送到后端的 JSON 字符串 Id 1234 Ut 1488395951 Temp 22 86 Rh 48 24 在后端 我想将 MQTT 消息存储到 DynamoDB 表中
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan
  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM
  • 超过两个点的Python相对导入

    是否可以使用路径中包含两个以上点的模块引用 就像这个例子一样 Project structure sound init py codecs init py echo init py nix init py way1 py way2 py w

随机推荐

  • 为什么 JasperViewer(基于 Swing 的组件)在 JavaFX 项目中不显示报告?

    我有 2 个运行 JasperReports 的项目 一种在 JavaFX 上运行 另一种仅使用普通 Java 和一个主类 现在 如果我运行普通的 Java 项目 jasperReport 就会工作并显示 vai贾斯珀浏览器类 但对于 Ja
  • 四分之一圆形状,容器在颤动

    我想要一个四分之一圆形的容器 想象一下整个披萨的四分之一片 我该如何实现这一目标 基本上 我想使用堆栈小部件将其放置在右下位置的另一个容器的顶部 圆形部分朝内 并且角度当然与底部容器的右下角相匹配 Thanks 您可以使用CustomPai
  • 在 CSS 样式表之间切换

    因此 与其他问题不同 我想使用这里的代码 如何使用 jQuery 切换 CSS 样式表 https stackoverflow com questions 7846980 how do i switch my css stylesheet
  • 防止 SKNode 相互施加力量

    我有两个SKNode对象 当它们碰撞时 它们的位置会发生变化 我怎样才能防止这种情况发生 同时 我仍然希望能够通过以下方式回复他们的联系 void didBeginContact 我尝试设置他们的mass财产给0 0f但这没有用 您可以通过
  • Xgrid 与 Xcode 并行编译的配合效果如何?

    我对使用 Xgrid 来加速跨多台机器编译 Xcode 的想法很感兴趣 但似乎很难找到有关人们使用它的经验 任何陷阱等的任何信息 我 没有多台 Mac我现在就可以测试它 所以我很好奇 你尝试过吗 它对你来说效果如何 您看到过什么样的加速 我
  • 不间断 utf-8 0xc2a0 空格和 preg_replace 奇怪的行为

    在我的字符串中 我有 utf 8 不间断空格 0xc2a0 我想用其他东西替换它 当我使用 str preg replace xc2 xa0 X str 它工作正常 但是当我使用 str preg replace x C2A0 siu W
  • Postgres 列名或表名何时需要引号,何时不需要?

    让我们考虑以下 postgres 查询 SELECT FROM MY TABLE WHERE bool var FALSE AND str var something 当我删除周围的引号时 查询无法正确响应 str var 但当我做同样的事
  • 如何使用我们的 T4 模板生成器包含自定义实用程序类?

    如何使用我们的 T4 模板生成器包含自定义实用程序类 我尝试向项目添加一个模块 但似乎无法将其包含在内 以便我的生成器使用其中的方法 Thanks 您无法从模板访问项目中的任何代码 即使可以 它会如何执行 该模板在设计时执行 使用 Inhe
  • 运行 selenium 独立服务器和集线器/节点设置有什么区别

    我从 selenium 独立服务器设置开始 java jar selenium server standalone 2 32 0 jar 这使我能够成功连接并运行我的测试 同时运行多个浏览器 当我使用以下设置作为集线器时有什么区别 java
  • DropDownList 的 SelectedIndexChanged 事件未触发

    我的网页中有一个 DropDownList 对象 当我单击它并选择不同的值时 没有任何反应 即使我有一个函数连接到SelectedIndexChanged event 首先 实际对象的 HTML 代码
  • 在 Axis2 中创建自定义异常

    我正在使用 Axis2 1 5 2 和 Eclipse 我使用 Eclipse 生成 WSDL 并根据生成的 WSDL 生成客户端代码 我创建了一个我的服务可以抛出的自定义异常 创建网络服务时一切看起来都正常 Web 服务成功启动 我可以通
  • Golang 模板变量 isset

    我创建了一个函数来检查变量是否已定义 fm isset func a interface bool if a nil a a 0 fmt Println is not set return false fmt Println is set
  • IE8 预期标识符错误

    IE 7 和 8 抛出错误 通过 jQuery 预期标识符 jQuery document ready function jQuery i18n properties name messages path myproject js i18n
  • 请提供 ENGINE 值 Django 数据库配置

    伙计们 我很困惑 我已经安装了 Django 并正常运行服务器 但是当尝试配置数据库并运行 db 同步命令时 它崩溃 返回我的 ENGINE 参数不正常 但设置文件正常 按照设置文件操作 DATABASES default ENGINE d
  • 嵌入式 Jetty - IllegalStateException:没有 SessionManager

    我在谷歌上找到了很多关于这个问题的参考 但没有答案 我正在使用最新版本的 jetty 8 1 2 v20120308 但我似乎无法获得能够使用会话的嵌入式 servlet 当然 该示例是用 scala 编写的 但任何 java 程序员都应该
  • 突然无法推送到heroku:“无法协商密钥交换方法”

    git Push heroku 突然失败了 我安装了 Node js 我认为它可能升级了一些东西并以某种方式破坏了它 我读过所有类似的帖子 它没有告诉我 提供 了哪个交换 并且一切看起来都匹配 但是调用失败 我不知所措 我成功执行了hero
  • asp.net mvc 单选按钮状态

    我正在为一个新项目尝试 asp net mvc 并且遇到了一些奇怪的事情 当我对文本框使用 MVC UI 帮助程序时 这些值在调用之间会保留下来 但是 当我使用一系列单选按钮时 选中状态不会持续存在 这是我认为的一个例子 li li
  • 在任何打开的工作簿中检测刚刚停用的工作表中的选择类型

    我想要一个方法来查询 改变后ActiveSheet 编辑 任何开放的Workbook 检测类型Selection在上一个活动表中 最重要的是 如果它是ChartObject or Range 如果它是一个Range 获取地址 这可能吗 ED
  • 无法从数据存储实体访问 ID 属性

    使用 Google App Engine SDK 和 Python 我遇到一个问题 我无法访问给定实体属性的 ID 属性 我可以访问的唯一属性是我的类模型中定义的属性 加上关键属性 请参阅下面的答案 class Question db Mo
  • pyproject.toml 文件的用途是什么?

    背景 我正准备尝试从 GitHub 下载的 Python 包 发现它没有setup py 所以我无法安装它 pip install e