【发布时间】:2018-05-23 16:18:54
【问题描述】:
我正在使用 Spyder 3.2.4 (Python 3.6)。 Spyder 不会检测到导入的 python 文件的变化。例如:
test2.py:
def func():
return 5
test1.py:
import test2
a = test2.func()
print(a)
当我编写这些类并将它们保存(在同一个工作目录中)并运行 test1.py 时,输出为 5。
但是当我将 test2.py 中的函数更改为喜欢时:
def func():
return 10
保存,然后运行python1.py,我还是得到5。只有当我保存、退出 IDE 并返回时,我才会得到更改后的代码 (10)。
自从我开始使用 Spyder(到现在几个月)以来,这种行为就一直在发生,而且非常烦人。帮助将不胜感激。
【问题讨论】:
-
不确定这是否与 spyder 相关。您可以尝试使用
importlib.reload。 -
当我将 Intellij IDE 与 python 插件一起使用时,它不会发生,所以我很确定它与 Spyder 相关。
-
我的意思是这是一个python特性。如果您导入一个模块,在后台更改它,然后再次导入,python 将不会接受更改。您要么必须重新启动解释器,要么可以使用
importlib.reload。 -
哇,谢谢。现在可以了。我不知道。在intellij中它会自动发生吗?回答作为问题的答案,所以我将能够接受它。
标签: python python-3.x import ide spyder