供参考的存储库-> https://github.com/SavSanta/bluinfo
因此,我试图导入BDROM
我在名为的文件中创建的类bluinfo.py
。(第27行)
通过将行添加from bluinfo import BDROM
到bluinfo-gui.py(第8行)
我收到 ImportError: cannot import name 'BDROM'
我不知道如何让这个坏男孩上班。其他帖子指出它可能与PYTHONPATH有关(尽管类似的导入已在程序的其他部分进行,并且所有文件都在同一目录中)。
我试图以以下方式更改导入语句,但未成功:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named '__main__.bluinfo'; '__main__' is not a package
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: attempted relative import beyond top-level package
$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'
任何想法表示赞赏!
在第三次尝试中,您进行了循环导入。重组代码以避免这种情况。
例如,您也许可以消除这些导入之一,并且您将摆脱循环依赖。
File "/tmp/blue/bluinfo/bluinfo.py", line 8, in <module>
import ts_scanner as ScanTask
File "/tmp/blue/bluinfo/ts_streamtypeclass.py", line 3, in <module>
from bluinfo import BDROM
PS:由于在名为blueinfo.py
的目录中有一个文件blueinfo
,该语句import blueinfo
可能表示软件包(目录)或模块(文件)。您可以考虑将blueinfo目录中的文件重命名为更具描述性的名称,以避免这种歧义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句