[英]How to solve ImportError: cannot import name splitfn in python
[英]How can I solve this cannot ImportError: cannot import name in python3
參考資料庫 --> https://github.com/SavSanta/bluinfo
所以,我試圖導入我在名為BDROM
的文件中創建的bluinfo.py
。 (第 27 行)
通過將行from bluinfo import BDROM
添加到 bluinfo-gui.py(第 8 行)
我收到ImportError: cannot import name 'BDROM'
我不知道如何讓這個壞小子工作。 其他帖子 state 它可能與 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
語句可能意味着 package (目錄)或模塊(文件)。 您可以考慮將 blueinfo 目錄中的文件重命名為更具描述性的名稱,以避免這種歧義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.