我已经将我的个人实用程序功能转换为一个包,以便能够在我的所有项目中使用它。这样,我重新构造了存储库,将其发布在GitHub上,并打包为PyPI。
但是,我无法正常工作。我已使用pip install jklib
安装了它,但无法导入子包。例如,我收到错误No module named 'jklib.django'
我尝试更改所有__init__.py
文件的内容都没有成功。我已经成功上传了PyPI软件包,尽管它们没有子软件包。
有什么想法吗?
答案 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 构造。 最好的问候。