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

未在 python setuptools 中安装的软件包

如何解决未在 python setuptools 中安装的软件包

我正在打包一个具有以下目录结构的 python 项目:

toingpkg/
    src/
        subtoingpkg1/
            subsubtoingpkg1/
                ...
                __init__.py
            __init__.py
        subtoingpkg2/
            ...
            subtoingpkg2.py
            __init__.py
        toingpkg.py
        __init__.py
    setup.cfg
    pyproject.toml

我的 setup.cfg 如下:

[Metadata]
name = toingpkg
...
classifiers =
    Programming Language :: Python :: 3
...
[options]
package_dir =
    = src
packages = find_namespace:

python_requires = >=3.6
install_requires =
    requests
    pytz

[options.packages.find]
where=src

而我的 pyproject.toml 如下:

[build-system]
requires = [
    "setuptools>=42","wheel"
]
build-backend = "setuptools.build_Meta"

当我使用 docs 中提到的 python3 -m build 构建我的包时,我的 dist 文件夹中有一个 whl 文件,但它不包含 src 根目录中的文件目录。

因此,当我执行 pip3 install dist/toingpackage-xxx-.whl 时,该软件包已安装(显示在 pip3 列表中)但我无法执行:

>>> import toingpkg

我明白了:

回溯(最近一次调用最后一次):文件“”,第 1 行,在 ModuleNotFoundError: 没有名为“toingpkg”的模块

我也尝试手动指定所有子包,但得到了相同的结果。我的python环境是3.8.5,setuptools 45.2.0。

我做错了什么?

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