2014-02-24 69 views
0

比方說,我有一個目錄結構,這樣Python的目錄和import語句

src\ 
    __init__.py 
    notebooks\ 
    __init__.py 
    foo.py 
    utils\ 
    __init__.py 
    db_connection.py 

和foo.py我 從utils.db_connection進口*

爲什麼會失敗?

回答

0

原因是,您在搜索列表sys.path中沒有「utils」目錄。你有兩個解決方案。首先是招foo.py到更高的文件夾,如:

│ foo.py 
│ __init__.py 
│ 
├─notebooks 
│  __init__.py 
│ 
└─utils 
     db_connection.py 
     db_connection.pyc 
     __init__.py 
     __init__.pyc 

否則,您可以添加目錄到sys.path中,如:

import sys 
sys.path.append("..") 
import utils.db_connection 

但第二個是真的醜陋〜

0

您沒有src/(或其完整路徑)在sys.path