2015-03-31 220 views
0

當試圖導入我的模塊在Python 3.4,我得到:。導入[模塊] - >導入錯誤:無法導入名[模塊]

In [6]: import PyModLSM 
--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-6-9980d6d1561d> in <module>() 
----> 1 import PyModLSM 

/home/naught101/Documents/uni/phd/projects/ModularLSM/PyModLSM/PyModLSM/__init__.py in <module>() 
    11  sys.exit() 
    12 
---> 13 from . import handlers 
    14 from . import models 
    15 from . import constants 

ImportError: cannot import name 'handlers' 

目錄結構:

├── LICENSE.md 
├── PyModLSM 
│ ├── component.py 
│ ├── constants.py 
│ ├── data.py 
│ ├── functions.py 
│ ├── handlers.py 
│ ├── __init__.py 
│ ├── models.py 
│ └── science_functions.py 
├── README.md 
└── setup.py 

有沒有圓形的進口,據我可以看到:

$ grep -irH "from.*import" PyModLSM/*py 
PyModLSM/functions.py: from .handlers import ModelHandler 
PyModLSM/handlers.py:from .component import ModelComponent 
PyModLSM/__init__.py:from . import handlers 
PyModLSM/__init__.py:from . import models 
PyModLSM/__init__.py:from . import constants 
PyModLSM/__init__.py:from . import science_functions 
PyModLSM/__init__.py:from .functions import * 
PyModLSM/models.py:from .component import ModelComponent 
PyModLSM/models.py:from . import science_functions as sf 
PyModLSM/science_functions.py:from . import constants as c 

這已經開始發生,因爲我升級到Python 3.4(使用暢達) - 我以前的蟒蛇3.3 ,或者可能是3.2,並且它工作正常。

回答

1

嘆氣..好吧,這是由於缺少必需的模塊,這是安裝在平均時間,並導入。 Python拒絕導入處理程序,因爲該模型以前缺失。重新啓動Python允許導入繼續正確。

不知道這個問題應該被刪除,或在這裏留下萬一別人不一樣的東西..

-1

你認識到錯誤行

PyModLSM/models.py:from .component import ModelComponent

大概應該是

from . component import ModelComponent