2014-09-18 91 views
0

我被python中的代码卡住了。但在简单的形式,它看起来像这样ImportError:没有名为b的模块 - Python

a.py看起来像这样

import b 

def hello(): 
    print "hello" 

print "a.py" 
print hello() 
print b.hi() 

和b.py看起来像这样

def hi(): 
    print "hi" 

a.py,我得到一个错误。我知道一些解决循环依赖的问题。但这不是正确的? TIA - 编辑

+1

你得到了什么确切的错误? – karthikr 2014-09-18 23:23:15

+0

当你尝试运行'a.py'时,你确定没有'ImportError'吗? (与'b.py'相对) – 5gon12eder 2014-09-18 23:27:09

+1

'a.py'和'b.py'在哪里?在同一个目录中? – FatalError 2014-09-18 23:28:26

回答

0

我以前有过这样的问题,这是因为我没有__init__.py与我试图导入的模块/包相同的目录。您需要该文件才能导入包,即使它是空的。

+0

这仅仅是* packages *(正如你所说)所必需的,而不是* modules *所必需的。由于OP只有一个文件,它是一个模块而不是一个包。即使如此,该文件应该命名为'__init __。py'(这是一个降价错误)。 – 5gon12eder 2014-09-18 23:29:09

+0

你真的不应该把你的顶级源代码目录变成一个包。 – abarnert 2014-09-18 23:35:32

+0

__init__有效! – user3908081 2014-09-19 00:45:03

相关问题