通过 setuptools 在 PyPi 上发布作者的正确方法

2023-12-19

我目前使用setuptools构建我的 Python 包,我已经在我的文件中以这种方式声明了两位作者pyproject.toml file:

authors = [
     {name = "X Y", email = "[email protected] /cdn-cgi/l/email-protection"},
     {name = "Z H", email = "[email protected] /cdn-cgi/l/email-protection"},
]

一切正常,我可以在 PyPI 上发布它,但只发布第一作者。我怎样才能显示两位作者。

我尝试使用以下语法

authors = ["X Y <[email protected] /cdn-cgi/l/email-protection>, Z H <[email protected] /cdn-cgi/l/email-protection>"]

但我有以下错误

ValueError: invalid pyproject.toml config: `project.authors[{data__authors_x}]`.
configuration error: `project.authors[{data__authors_x}]` must be object

请注意,我指定:

[build-system]
requires = ["setuptools","numpy","scipy","wheel"]
build-backend = "setuptools.build_meta"

您的原始符号是正确的:

authors = [
     {name = "X Y", email = "[email protected] /cdn-cgi/l/email-protection"},
     {name = "Z H", email = "[email protected] /cdn-cgi/l/email-protection"},
]

但有些问题是您无法控制的。

一方面,尚不完全清楚这应如何转化为核心元数据符号,这是分布工件(轮)内部使用的符号,然后通过以下方式提取并显示PyPI.

另一方面,构建后端(setuptools包括)没有明确说明它们如何从pyproject.toml符号核心元数据符号,他们倾向于默默地选择列表中的第一项,而忽略后面的项目。

参考:

  • https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#authors-maintainers https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#authors-maintainers
  • https://packaging.python.org/en/latest/specifications/core-metadata/#author https://packaging.python.org/en/latest/specifications/core-metadata/#author
  • https://packaging.python.org/en/latest/specifications/core-metadata/#author-email https://packaging.python.org/en/latest/specifications/core-metadata/#author-email
  • https://discuss.python.org/t/the-author-maintainer-distinction-problem-and-pep-621/4562 https://discuss.python.org/t/the-author-maintainer-distinction-problem-and-pep-621/4562
  • https://discuss.python.org/t/pep-621-round-3/5472/72 https://discuss.python.org/t/pep-621-round-3/5472/72
  • https://discuss.python.org/t/pep-621-round-3/5472/86 https://discuss.python.org/t/pep-621-round-3/5472/86
  • https://discuss.python.org/t/pep-621-round-3/5472/91 https://discuss.python.org/t/pep-621-round-3/5472/91
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 setuptools 在 PyPi 上发布作者的正确方法 的相关文章

  • 在 Python 中使用 Selenium 处理“接受 Cookie”弹出窗口

    我一直在尝试用硒抓取这个房地产网站的一些信息 但是 当我访问该网站时 我需要接受 cookie 才能继续 这仅在机器人访问网站时发生 而不是在我手动执行时发生 当我尝试通过 xpath 或 id 查找相应的元素时 正如我在手动检查页面时找到
  • Django:如何测试“HttpResponsePermanentRedirect”

    我正在为我的 django 应用程序编写一些测试 在我看来 它使用 HttpResponseRedirect 重定向到其他一些网址 那么我该如何测试呢 姜戈TestCase类有一个方法assertRedirects https docs d
  • 为什么 .setGeometry() 不改变 QWidget 实例的大小?

    我想使用 QWidget 更改 QPushButton 的大小 setGeometry https doc qt io qtforpython 5 PySide2 QtWidgets QWidget html PySide2 QtWidge
  • 一次将Python dict的内容分配给多个变量?

    我想做这样的事情 def f return a 1 b 2 c 3 a b f or a b f IE 这样 a 被分配为 1 b 被分配为 2 并且 c 是未定义的 这与此类似 def f return 1 2 a b f 依赖于变量名称
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • 优化 Keras 以使用所有可用的 CPU 资源

    好吧 我真的不知道我在说什么 所以请耐心听我说 我正在使用 Theano 后端运行 Keras 以在 MNIST 图像上运行基本的神经网络 目前只是一个教程 过去 我一直使用我的旧 HP 笔记本电脑 因为我有 Windows 和 Ubunt
  • PIL Image.size 返回相反的宽度/高度

    使用PIL确定图像的宽度和高度 在特定图像上 幸运的是只有这一个 但这很麻烦 从 image size 返回的宽度 高度是相反的 图片 http storage googleapis com cookila 533ebf752b9d1f7c
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 如何在python中检索aws批处理参数值?

    流程 Dynamo DB gt Lambda gt 批处理 如果将角色 arn 插入动态数据库 它是从 lambda 事件中检索的 然后使用submit job角色 arn 的 API 被传递为 parameters role arn ar
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 如何使用Python的super()来更新父值?

    我对继承很陌生 之前所有关于继承和 Python 的 super 函数的讨论都有点超出我的理解 我当前使用以下代码来更新父对象的值 usr bin env python test py class Master object mydata
  • conda-env list / conda info --envs 如何查找环境?

    我一直在尝试 anaconda miniconda 因为我的用户使用随 miniconda 安装的结构生物学程序 并且作者都没有 A 考虑到可能存在其他 miniconda 应用程序 B 他们的程序将在多用户环境中使用 因此 使用 Arch
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide

随机推荐

  • 更新大型 CakePHP 模型,但*不*触及某些字段?

    使用 CakePHP 1 3 我在 CakePHP 中有一个相当大的模型 我希望在表单页面上有一些隐藏元素 以便在保存之前 手动 进行比较 验证 但是当执行saveAll 经过验证 我不希望出现这些字段 本质上是为了避免它们被更新 处理这个
  • Angular2-如何将表单上的“touched”属性设置为 true

    我的组件中有一个反应式表单 我想设置touched每个输入的属性等于true 我当前的代码执行此操作 但它会引发错误Cannot set property touched of
  • 如何在不使用任何操作类的情况下使用 Struts2 约定

    在Struts2中我们可以定义action而不使用action类struts xml如下
  • Django 中的双外键?

    有没有办法在 Django 中模拟双外键 例如 如果我有表格 音频 覆盖 html 表 timeline item 它有一个字段 id 以及一个指定音频 覆盖或 html 的字段类别 有谁知道我将如何在 Django 中对此进行建模 或者是
  • 将选择结果转换为插入脚本 - SQL Server

    我有 SQL Server 2008 SQL Server Management Studio 我需要从一个数据库中的表中选择数据并将其插入到另一个数据库中的另一个表中 如何将我的选择返回的结果转换为INSERT INTO 评论澄清 虽然我
  • 如何复制 Core Data 托管对象?

    我有一个托管对象 A 其中包含各种属性和关系类型 并且它的关系也有自己的属性和关系 我想做的是 复制 或 复制 以对象 A 为根的整个对象图 从而创建一个与 A 非常相似的新对象 B 更具体地说 B 或其子级 包含的任何关系都不应指向与 A
  • 使用水平滚动条滚动面板

    如何将水平滚动条应用于面板 我正在开发二维平铺地图编辑器 并使用面板来保存内容 当我的地图比面板大时 它就会消失并变得不可见 是否可以应用自定义滚动条 The Panel http msdn microsoft com en us libr
  • 如何在c#中查找名称以某个字符串开头的HTML元素的数量?

    我不确定该主题是否很好地描述了我的问题 但我正在使用 jQuery 动态创建一些 HTML 元素 文本框 而且我永远不知道将创建多少个元素 它循环通过数据库 然后我想获取后面代码中的所有元素并执行一些操作 将它们插入到另一个数据库中 我知道
  • 类型映射资源以及将列表转换为向量(以及反之)

    我正在使用 SWIG 将 c 包装在 python 中 并且需要使用类型映射以使我的 python 脚本尽可能简单 作为第一次尝试 我只是发送 2 个列表 将它们转换为向量 将两个向量相加 然后将结果返回到新列表中 我的问题是 我发现 SW
  • 使用 c++ 17 更新时 G++ 编译器警告

    我正在 Windows 10 上使用 mingw 运行 g 编译器 在 cmd 中检查编译器版本时 我得到以下信息 g version g MinGW org GCC Build 2 9 2 0 与c version 当我使用结构化绑定编译
  • jQuery 未在附加项目上触发

    我在触发已添加到页面的项目上的事件时遇到问题 在以下示例中 如果单击 X 它将删除其中一项 但如果添加一项 则无法将其删除 清单如下 ul li Item 1 a class remove X a li li Item 2 a class
  • 如何对齐 2 个反应原生元素,1 个位于中心,1 个位于开头

    假设我们有这些反应原生样式 var styles StyleSheet create parentView width 400 height 150 containerView flex 1 flexDirection row alignI
  • 每当 SwiftUI 中更新 CoreData 时更新状态变量

    从 CoreData 更新一些数据后 我还想更新一个State 可变为返回结果的数量 当CoreData改变时 Stepper应始终设置为返回结果的数量 然而 onAppear当我使用时也会发生火灾Stepper 我怎样才能办理登机手续on
  • 如何在ListView上使用Button的onClickListener方法

    我有一个习惯ListView其中包含一个Button 该按钮的功能是删除按钮 每当用户单击此按钮时 当前行将被删除 我该怎么做 我该如何设置onClickListener对于这个按钮 如何捕获该按钮所在的行 ID 提前致谢 In your
  • SAM Local 似乎没有运行授权者功能

    我刚刚开始使用SAM 本地 https github com thoeni aws sam local 但在尝试为我的端点配置授权者功能时遇到了问题 我一直在看主要 SAM 文档 https github com awslabs serve
  • 引用的错误类型不是注释类型:

    我得到了以下方面 Around execution public DisabledForBlockedAccounts annotation denyForTeam public Object translateExceptionsDeny
  • 在jsFiddle中引用GitHub文件

    是否有可能滥用从github存储库中获取文件作为jsFiddle中的外部资源 TLDR Visit rawgit com http rawgit com 这将直接从 GitHub 将您的文件弹出到 CDN 上 以便您可以使用它们 不幸的是
  • 模拟 6502 个时钟周期的最佳方法?

    我一直在研究 NES 模拟器的 CPU 我想知道管理多周期指令周期的最佳方法是什么 假设实现了一个周期的时间延迟 我可以根据指令的每个步骤单独增加周期 如下所示 void EXAMPLE INSTRUCTION step1 cycles s
  • 对形状内的元素进行聚类

    我见过这个解决方案 http jsfiddle net srvikram13 CLs8P 它似乎负责在 一致 形状内对元素进行聚类 而不会重叠 但是如果形状更加模糊怎么办 如下所示 我的前几次尝试似乎是将形状简化为其最基本的形式 然后检查元
  • 通过 setuptools 在 PyPi 上发布作者的正确方法

    我目前使用setuptools构建我的 Python 包 我已经在我的文件中以这种方式声明了两位作者pyproject toml file authors name X Y email email protected cdn cgi l e