Pypi ImportError:未命名模块

时间:2019-02-15 07:59:54

标签: python import python-module pypi python-packaging

导入模块可在github上运行,但在Pypi上会中断

让我解释一下,我有一个类似于以下内容的典型文件结构;

目录树的图像

click link to see image of directory tree

这在我的计算机上有效,一些嵌入式打印语句显示了我执行的所有模块而没有错误;

main core is running
home: OK
filesystem: OK
temporary: OK
inputs: OK
central: OK
output: OK
robotHome: OK
network: OK
external: OK

我已将代码上传到Pypi,现在当我安装我的pip包时 并尝试在测试脚本中使用它; (我目前要做的所有代码都是导入模块并打印“确定”)

#!/usr/bin/env python
import shenko
print("something")

它引发以下错误;

ImportError: No module named S01_HOME.HOME

我尝试使用空的 init .py文件,目前已有该文件;

from HOME import home

如果要查看源代码; Click here to see github page

(您可以克隆github并运行它,然后pip安装shenko并查看是否再现了此问题??

感谢您的宝贵时间, www.shenko.org

1 个答案:

答案 0 :(得分:0)

已解决!

基本上,由于python没有看到子包,因此未构建子包。我只需将子包添加到setup.py中即可解决此问题;

    packages=find_packages(include=['shenko',
    'shenko.S01_HOME',
    'shenko.S02_FILESYSTEM',
    'shenko.S03_TEMPORARY',
    'shenko.S04_INPUTS',
    'shenko.S05_CENTRAL',
    'shenko.S06_OUTPUT',
    'shenko.S07_ROBOT_HOME',
    'shenko.S08_NETWORK',
    'shenko.S09_EXTERNAL',
    ]),

您可以在我的github页面上查看此代码; Github.com/shenko/shenko

请随时通过http://www.shenko.org/查看我的项目 我们希望在不久的将来使用panda3d创建一个开源游戏。

谢谢