【发布时间】:2020-06-23 10:36:39
【问题描述】:
参考资料库 --> https://github.com/SavSanta/bluinfo
所以,我试图导入我在名为 bluinfo.py 的文件中创建的类 BDROM。 (第 27 行)
通过将from bluinfo import BDROM 行添加到 bluinfo-gui.py(第 8 行)
我收到ImportError: cannot import name 'BDROM'
我不知道如何让这个坏小子工作。其他帖子指出它可能与 PYTHONPATH 相关(尽管类似的导入已经在程序的其他部分工作并且所有文件都在同一个目录中)。
我尝试通过以下方式更改导入语句,但均未成功:
- 从 .bluinfo 导入 BDROM
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named '__main__.bluinfo'; '__main__' is not a package
- 从 ..bluinfo 导入 BDROM
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: attempted relative import beyond top-level package
- 创建一个 init.py 文件(我相信我在 python3.x 中没有必要阅读该文件)并尝试导入
$dev:/tmp/blue/bluinfo$ touch __init__.py
$dev:/tmp/blue/bluinfo$ python3 bluinfo-gui.py
Traceback (most recent call last):
File "bluinfo-gui.py", line 8, in <module>
from bluinfo import BDROM
File "/tmp/blue/bluinfo/bluinfo.py", line 8, in <module>
import ts_scanner as ScanTask
File "/tmp/blue/bluinfo/ts_scanner.py", line 5, in <module>
import ts_streamtypeclass
File "/tmp/blue/bluinfo/ts_streamtypeclass.py", line 3, in <module>
from bluinfo import BDROM
ImportError: cannot import name 'BDROM'
任何想法表示赞赏!
【问题讨论】:
-
我放了一个更好的链接。
-
我在# import ts_scanner as ScanTask 中发现错误
-
问题已解决。问题是
ts_streamtypeclass.py中的导入导致循环导入
标签: python python-3.x python-import importerror