个人PyPI软件包:无法导入子软件包

时间:2020-02-28 23:22:01

标签: python python-3.x python-import pypi

我已经将我的个人实用程序功能转换为一个包,以便能够在我的所有项目中使用它。这样,我重新构造了存储库,将其发布在GitHub上,并打包为PyPI

但是,我无法正常工作。我已使用pip install jklib安装了它,但无法导入子包。例如,我收到错误No module named 'jklib.django'

我尝试更改所有__init__.py文件的内容都没有成功。我已经成功上传了PyPI软件包,尽管它们没有子软件包。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

packages=setuptools.find_packages()中使用setup.py包括所有子包。如果使用__init__.py,则site_packages/jklib/中只有packages=["jklib"]

答案 1 :(得分:0)

老问题,但仍然很有趣。 我在 Github 上也拥有一个名为 ofunctions 的函数集合,并创建了一个“命名空间”包,该包将安装所有内容,以及仅安装必要功能(包括其依赖项)的子包。

我设法创建了一个单独的 setup.py 文件来处理 pacakge 本身以及所有子包和要求。 最后,我想实现以下安装语法来安装 pacakge 的一部分:

pip install ofunctions.network

或者整个包通过

pip install ofunctions

如果有帮助,请查看我的 git repo 构造。 最好的问候。