ImportError:没有名为_____的模块

A.R*_*.R. 1 python

在SO中存在许多问题,这个问题略有不同.我见过的答案都没有解决我的问题,所以我问了一个新问题.

我有这个文件夹结构:

/myapp/
   \__init__.py
    modu1.py
    modu2.py

__init__.py 是空的

modu1.py

class TestMod1Class():
    def msg(self):
        print "Hello World!"
Run Code Online (Sandbox Code Playgroud)

modu2.py

import myapp.modu1 

obj = myapp.modu1.TestMod1Class()
obj.msg()
Run Code Online (Sandbox Code Playgroud)

如果从目录/ myapp /我运行python modu2.py我得到:

Traceback (most recent call last):
  File "modu2.py", line 1, in <module>
    import myapp.modu1
ImportError: No module named myapp.modu1
Run Code Online (Sandbox Code Playgroud)



我做错了什么?我已经阅读了文档,但仍然无法理解这一点.

J D*_*ith 5

您已经在该myapp模块中,位于该模块中myapp.因此,您不需要使用import myapp.modu1语法,而应该使用import modu1.

例如:

import modu1

obj = modu1.TestMod1Class()
obj.msg() # output: Hello World!
Run Code Online (Sandbox Code Playgroud)

注意:我在Python 3中测试过,因为我的机器上没有2,但它应该是相同的(我编辑modu1以使用新print语法).