[英]How can I uncache imported module in python?
這真讓我感到震驚。 我的項目看起來像這樣
.
|-- main.py
|-- classes
| |-- __init__.py
| |-- exceptions.py
在這些exceptions.py
,我最初創建了一個稱為SecurityError
異常:
class SecurityError(Exception):
pass
我使用from classes.exceptions import *
的文件將其包含在main.py
中from classes.exceptions import *
當我raise
其raise
時, SecurityError
通常可以正常工作。
之后,我還添加了FilesystemError
,但是無論何時使用它,我都會得到:
未定義全局名稱“ FilesystemError”
我試圖刪除classes
目錄中的*.pyc
文件,但沒有效果。 對exceptions.py
任何更改均無效,包括使文件無效的任何可笑的更改:
class FileFOO BAR BAZ systemError(Exception):
pass
class SecurityErr foo bar bazor(Exception):
pass
自第一次運行以來,該程序的行為就像文件從未更改過一樣。 我認為這種行為與直觀的編程沒有任何關系-如果有緩存,它應該在該目錄中。
我直接從命令行運行python:
C:\programing\python\MyProject>py -2 main.py
global name 'XXX' is not defined
形式的令人困惑的錯誤通常意味着您正在隱藏標准庫模塊。 您必須重命名exceptions
模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.