您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python 2.7中使用“ setup.cfg”代替setup.py

如何在Python 2.7中使用“ setup.cfg”代替setup.py

请注意,从2016年12月开始,在setuptools 版本30.3.0中,可以根据空闲符号的答案将包元数据放入setup.cfg中。

问题是 setup.cfg 文件没有执行您想要的操作。它不为setup函数提供参数。它用于为 setup.py 使可用的命令提供参数。您可以使用 列出受支持 。您应该看到类似以下内容

(env) gondolin/zender% ./setup.py --help-commands
Standard commands:
  build             build everything needed to install
  build_py          "build" pure Python modules (copy to build directory)
  .....
  install_data      install data files
  sdist             create a source distribution (tarball, zip file, etc.)

这是可以放入 setup.cfg 文件中的部分的列表。您可以使用 列出命令支持的选项。例如,sdist 命令支持以下选项:

(env) gondolin/zender% ./setup.py --help sdist
Common commands: (see '--help-commands' for more)
....
Options for 'sdist' command:
  --formats         formats for source distribution (comma-separated list)
  --keep-temp (-k)  keep the distribution tree around after creating archive
                    file(s)
  --dist-dir (-d)   directory to put the source distribution archive(s) in
                    [default: dist]
  --help-formats    list available distribution formats

通过添加如下所示的 setup.cfg 文件,可以控制用户在项目中运行 时发生的情况。 __

[sdist]
keep-temp = 1
dist-dir = dist/source

因此,… setup.cfg 仅为您的项目配置各种设置命令的行为。该setup函数确实需要将元数据作为关键字参数提供给它。您可以编写自己的distutils.dist.Distribution类版本,以从setup.cfg提取元数据,并将其作为distclass=关键字参数提供给setup

难题中缺少的一环是,标准Distribution类没有提供将path参数传递给distutils.dist.DistributionMetadata初始化器的方法,该方法几乎完成了您想要的工作- 它使用您提到的电子邮件解析内容读取包信息。您找到的是用于处理PEP-314 /PEP-345元数据文件代码。该功能未使用此setup功能。相反,它用于解析嵌入在分布式程序包中的元数据。

python 2022/1/1 18:46:45 有328人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶