我有一个Python项目,我想把它发布到Pypi
。我们称它为Package_main
。我在Package_main
中使用了一些本地/私有/自定义Python包(Package_1
和Package_2
)。
InPackage_main
:
import Numpy, matplotlib # import public packages
import Package_1, Package_2 # import private/local/custom packages
注意:
我用pip install Numpy, matplotlib
命令安装了Numpy和matplotlib .
我用python setup.py develop
命令安装了Package_1
和Package_2
。因为这两个包还没有构建并发布到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
来保存所有必要的导入文件。