2016-05-06 80 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緩存解決問題。