[英]ImportError: cannot import name 'myClass' from 'myModule': where did I mess up?
[英]ImportError: cannot import name 'MyClass' from "myFile.py", without restarting the notebook
使用 VSCode,我有一個帶有 class myClass
的文件myFile.py
# myFile.py
class myClass(nn.Module):
def __init__(self):
super(myClass, self).__init__())
self.a = 1
在與someNb.ipynb
相同的文件夾中的myFile.py
someNb.ipynb 中沒有我只想在 python 單元格中導入myClass
:
from myFile import myClass
但是,即使我保存了這兩個文件(如其他問題中所述),我也會收到以下錯誤:
ImportError: cannot import name 'myClass' from 'myFile' (<path-to-myFile.py>)
我也嘗試添加
%load_ext autoreload
%autoreload 24
之前from myFile import myClass
,但這也看不到myFile.py
的變化。
注意:當我重新打開筆記本時,它可以工作。 <path-to-myFile.py>
是正確的路徑。
所以問題更多:為什么每次更改myFile.py
時都需要重新打開整個筆記本? 我只想對myFile.py
進行更改,同時保存someNb.ipynb
和myFile.py
,然后導入新的更改(類),而無需重新加載筆記本並丟失所有變量。
根據這里的解釋,這就是jupyter的機制。
如果在外部文件(如 python 文件)中修改,jupyter 將無法識別該更改。 因為第一次打開jupyter並運行代碼后已經導入了這個模塊,所以解釋器kernel已經存在這個模塊。
所以如果你想讓 jupyter kernel 注意到這個變化,你必須重啟 jupyter。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.