微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何删除 setup.cfg 中不需要的顶级包?

如何解决如何删除 setup.cfg 中不需要的顶级包?

我正在为 this guide 之后的第一个 Python 包开发 setup.cfg。它主要有效,但问题是它包含我的包的子文件夹作为顶级包。源树:

setup.cfg
src
  Accentizer2
    __init__.py
    Accentizer.py
    Annotation.py
    DawgSharp
      YaleDawg.py
    Russian
      Stress.py
      Syllable.py
      Vowels.py

(我知道,大写是非常规的。我很快就会解决这个问题。)

setup.cfg:

[options]
package_dir =
    = src
packages = find:

[options.packages.find]
where = src
exclude =
    Accentizer2/DawgSharp
    Accentizer2/Russian

这里是 py -m build 的部分输出

adding 'Accentizer2/Accentizer.py'
adding 'Accentizer2/Annotation.py'
adding 'Accentizer2/__init__.py'
adding 'Accentizer2/DawgSharp/YaleDawg.py'
adding 'Accentizer2/DawgSharp/__init__.py'
adding 'Accentizer2/Russian/Stress.py'
adding 'Accentizer2/Russian/Syllable.py'
adding 'Accentizer2/Russian/Vowels.py'
adding 'Accentizer2/Russian/__init__.py'
adding 'DawgSharp/YaleDawg.py'
adding 'DawgSharp/__init__.py'
adding 'Russian/Stress.py'
adding 'Russian/Syllable.py'
adding 'Russian/Vowels.py'
adding 'Russian/__init__.py'

如您所见,它添加DawgSharpRussian 两次:在 Accentizer2 内部和顶层。为什么?它还添加了不属于 src 树的 DawgSharp/__init__.pyRussian/__init__.py

如何更改我的 setup.cfg 以便生成的包仅包含 DawgSharpRussian 作为子文件夹而不是顶级模块?它们是我的包的用户不应该担心的实现细节。

解决方法

我只需要清理我的构建文件夹。它正在收集旧版本的文件(在它们被移动之前)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。