2012-02-18 15 views
3

IDLEにコードを再コンパイルするように強制することはできません。ここに私のシンプルなデザインです。IDLE - 変更されたコードを再コンパイル

クラスAとB、Bは、私が変更した場合、その後、Bを実行し

、IDLEはAを再コンパイルし、Aの古いバージョンを実行していないようだインポート

これをどうすれば解決できますか? :\

+0

HmmmモジュールをインポートするときにPythonが作成する* .pyc/*。pyoファイルを削除しようとしましたか?それは強制的に再コンパイルするかもしれません。 (A.pyとA.pycがあり、A.pycを削除しているとします) –

+0

コンパイルされたバージョンをどこかのキャッシュに保存しているようです。 pycファイルを削除しても何もしませんでした(新しいA.pycファイルを作成しなかったので、実際にはクラスAを再コンパイルしませんでした) – Jin

+0

あなたはどのシステムとPythonバージョンを実行していますか? –

答えて

0

手動(CTRL + S) に保存し、その後、Aは、それが再コンパイルする必要がある最後の時間以降に変更された場合、B(これもBを保存するよう求められます) を実行する強制的にを持っています。

1

python trackerの回答は、スタートアッププロパティーが/usr/bin/idle-python2.5 -nのアイコンで誰かがIDLEを開始していたということでした。重要な問題は、-nの存在であり、IDLEプロセスでユーザーコードを実行すると言われています。したがって、Bが最初の実行後にAをインポートしたとき、AはIDLEプロセスのsys.modulesにありました。 -nがなければ、IDLEはエディタ(F5)で別の新しいプロセスでユーザコードを実行します。この場合、Aはファイルから再インポートされなければなりません。ジンは明らかに同じ問題を抱えていた。

関連する問題