簡體   English   中英

如何在Python控制台中重新加載模塊?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM