[英]How do I reload a module in the Python console?
我在Python 3.7中使用PyCharm。 在我的Python控制台中,如何重新加載已更改的模塊? 我創建了一個文件“ services.py”,在其中創建了一個服務類
class ArticlesService:
def process(self):
當我在控制台中對此進行測試時,我似乎無法弄清楚如何重新加載它。 這是我得到的錯誤
from mainpage.services import ArticlesService
importlib.reload(ArticlesService)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 140, in reload
raise TypeError("reload() argument must be a module")
TypeError: reload() argument must be a module
如何引用我的班級來重新加載它? (或者更好的是,如何使控制台自動重新加載已更改的所有內容?)
from mainpage.services import ArticlesService
僅將類導入您的名稱空間,因此您沒有對名稱空間中的模塊的引用。 從importlib.reload文檔:
重新加載先前導入的模塊 。 參數必須是模塊對象,因此它必須已經成功導入。
因此,如果要稍后重新加載,請確保導入模塊:
import importlib
import mainpage
from mainpage.services import ArticlesService
...
importlib.reload(mainpage)
這也應該工作:
import importlib
import mainpage.services
from mainpage.services import ArticlesService
...
importlib.reload(mainpage.services)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.