我是Python新手。我收到了ImportError,似乎已经尝试了文档中的所有内容以及本网站和其他的各种说明
我的代码结构如下:
vsm
|
|______bin
| vsmx.py
|______site-packages
__init__.py
|
|_____libs
__init__.py
monitor.py
在monitor.py中我有一个名为getStr的函数,两个__init__.py
文件为空
我将PYTHONPATH设置为vsm / site-packages& VSM /站点包/库。当我从命令行运行python bin / vsmx.py时,我得到:
Traceback (most recent call last):
File "bin/vsmx.py", line 15, in <module>
from libs.monitor import getStr
File "/var/src/vsm/bin/vsmx.py", line 15, in <module>
from libs.monitor import getStr
ImportError: No module named monitor
然而,当我尝试以交互方式运行时,它似乎有效。我使用python 2.6.1尝试了windows和linux。
任何指针都将非常感激
答案 0 :(得分:1)
ImportError:没有模块......通常是一个非常(模糊)的错误,意味着你有循环导入。
模块a.py:
import b
模块b.py:
import a
然后是main.py:
import a
这会导致ImportError:没有名为a的模块,因为当b尝试导入时,a正在导入b并且没有准备好。