【问题标题】:.whl file generated by build doesn't include information about dependenciesbuild 生成的 .whl 文件不包含有关依赖项的信息
【发布时间】:2021-09-29 07:31:33
【问题描述】:

我正在尝试创建一个 Python 包。我有一个setup.cfg,其中包含此部分:

install_requires =
    pyo>=1.0.4
    pywebview>=3.4
    strictyaml>=1.4.4

当我在项目目录中运行python3 -m build 时,我得到了预期的dist/mypackage.whl。当我切换到另一个虚拟环境以测试使用pip install mypackage.whl 安装它时,它也可以工作;但是,它不会安装依赖项。事实上,.whl 文件中根本没有提到依赖项,因为我使用过

unzip -c mypackage.whl 'mypackage.dist-info/*' | grep pyo

这并没有带来任何东西。

依赖信息甚至应该包含在轮子中吗? This SO post 建议这样做。如果不是,这就是requirements.txt 的用途吗?

编辑:这是我的完整 setup.cfg 和软件包版本信息:

[metadata]
name = mypackage
version = 0.1
author = David Husz
long_description = file: README.md
long_description_content_type = text/markdown
install_requires =
    pyo>=1.0.4
    pywebview>=3.4
    strictyaml>=1.4.4
classifiers =
    Programming Language :: Python :: 3
    Operating System :: OS Independent

[options]
package_dir =
    = src
packages = find:
include_package_data = True
python_requires = >=3.6

[options.packages.find]
where = src

我的 setuptools 版本是 57.4.0,我的 build 版本是 0.5.1。

【问题讨论】:

  • 显示完整的 setup.cfg,并显示您的 setuptools 版本

标签: python setuptools


【解决方案1】:

install_requires 不是[metadata] 设置,而是[options] 设置

将其移至[options] 部分,您应该一切顺利!

这是我的一个项目中的一个示例:https://github.com/asottile/setup-cfg-fmt/blob/f7d50142cec2174daeee4a67cebf2d161c0cca46/setup.cfg#L25-L26

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2021-10-17
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多