私はSpyder 3.2.4(Python 3.6)を使用しています。 SpyderはインポートされたPythonファイルの変更を検出しません。たとえば、次のように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を使用し始めてから(数ヶ月後)、非常に面倒です。ヘルプをいただければ幸いです。
スパイダー関連のものかどうかはわかりません。あなたは 'importlib.reload'を試してみることができます。 –
私はIntellij IDEをPythonプラグインで使用しているときは起こらないので、Spyderに関連していると確信しています。 – sheldonzy
私が言ったのは、これはPythonの機能です。モジュールをインポートする場合は、バックグラウンドで変更してから再度インポートしてください。変更が反映されません。インタプリタを再起動するか、 'importlib.reload'を使うことができます。 –