繁体   English   中英

来自。 导入[模块]-> ImportError:无法导入名称[模块]

[英]from . import [module] -> ImportError: cannot import name [module]

当尝试在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(使用conda)以来,这种情况已经开始发生-我以前使用的是python 3.3,或者可能是3.2,并且运行正常。

感叹..好的,这是由于缺少必需的模块引起的,该模块同时已安装并导入。 Python拒绝导入处理程序,因为以前缺少该模型。 重新启动Python可使导入正常继续。

不知道是否应该删除此问题,还是不确定其他人是否也做同样的事情。

你认识到错误行

PyModLSM / models.py:from .component导入ModelComponent

大概应该是

来自。 组件导入ModelComponent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM