2015-03-31 223 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