2016-05-06 49 views
0

对不起,愚蠢的问题。我有这些文件:还是不明白蟒蛇进口

a\ 
|-__init__.py 
|-b\ 
|---__init__.py 
|---c.py 

c.py包含类'd'。

这种形式的作品:

>>> import a.b.c as c 

>>> from a import b 

这些形式不起作用:

>>> from a.b import c 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: cannot import name 'c' 
cannot import name 'c' 

>>> from a.b.c import d 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named 'a.b.c' 
No module named 'a.b.c' 
  1. 如果from a import b作品,为什么from a.b import c抛出一个错误?
  2. 如果import a.b.c有效,为什么from a.b import c会抛出错误?
  3. 如果'd' from 'c'有效,为什么from a.b.c import d会抛出错误?
+4

你所有的“破”的例子都在我的Python 2.7和3.4系统上工作。 –

+0

我同意John的说法,但只是为了检查:你是否始终从项目的根目录运行(意思是工作目录的子目录,而不是从a中运行) – Foon

回答

0

对不起,浪费时间。

我试验了导入并编辑__init__.py。删除.pyc缓存解决问题。