gpt4 book ai didi

python 隐式命名空间包未使用 setuptools 安装

转载 作者:行者123 更新时间:2023-12-01 02:13:42 25 4
gpt4 key购买 nike

使用 Python 3.4 和 Setuptools,我试图让命名空间包按照 PEP 420 中的定义正常工作。我的目录结构如下所示:

  • 项目
  • __init__.py
  • 核心
  • 几个 .py 文件
  • 日志
  • com1
  • 几个 .py 文件
  • com2
  • 几个 .py 文件
  • 接口(interface)
  • 杂项文件

  • 使用 setuptools find_package() 时函数,它会找到“项目”包,但它不会在“项目”内安装任何文件夹(隐式子包)。当我解压缩 .egg 文件时,我看到的只是里面的 __init__.py 文件,没有任何子目录或文件。

    我可以在每个目录中放一个 __init__.py ,但由于这些文件都是空的,而且我不喜欢它使结构工作的方式,我试图避免这种情况。

    如果我移动到我的“项目”目录之外,并运行以下命令,它就可以工作

    python -m project.logging.com1.myfile

    但在其他任何地方它都不起作用,因为 setuptools 没有安装其中没有 __init__.py 的子目录(隐式命名空间)。

    如何让 setuptools 正确安装我的隐式命名空间包?我只需要告诉它在目录中安装所有文件就足够了吗?

    最佳答案

    似乎将 PEP 420 支持添加到 setuptools 的初始拉取请求是 rejected .在 another issue 上有一个关于合并 PEP 420 支持的最佳方式的公开讨论。 ,但目前似乎不支持隐式命名空间。

    关于python 隐式命名空间包未使用 setuptools 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27047443/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com