如何解决如何构建依赖于其他自定义 python 包的 Python 包?
我有一个 Python 项目,我想将它发布到 Pypi
。我们称之为Package_main
。
我在 Package_1
中使用了一些本地/私有/自定义 Python 包(Package_2
和 Package_main
)。
在Package_main
中:
import Numpy,matplotlib # import public packages
import Package_1,Package_2 # import private/local/custom packages
注意:
我通过命令 pip install Numpy,matplotlib
安装了 Numpy 和 matplotlib。
我在相应的目录中通过命令 Package_1
安装了 Package_2
和 python setup.py develop
。因为这两个包尚未构建并发布到 Pypi
。
我已尝试构建 Package_main
并将其发布到 Pypi
。但是我在新环境下下载了Package_main
后发现并使用,报错:
ModuleNotFoundError: No module named Package_1
这意味着我的本地 Package_1
和 Package_2
未包含在 Package_main
中。
我愿意与Package_main
和Package_1
一起公开Package_2
。你能告诉我怎么做吗? (我知道一种方法是将 Package_1
和 Package_2
分别公开到 Pypi
,然后像使用 Numpy
一样使用它们,但我认为这种方法似乎不是优雅,您有其他解决方案吗?)
解决方法
python 中的包理想情况下需要一个 __init__.py
文件才能成为包。鉴于您需要在同一根目录下提取数据,您的根目录中需要有一个 __init__.py
来保存所有必要的文件导入。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。