私はいくつか頻繁に変更されたpythonファイルをインポートするpythonファイルを持っています。インポートしたファイルを変更したときに再コンパイルしないと、問題が発生しました。コンパイルを中止するにはどうしたらいいですか?Pythonインポートのコンパイルを防止する
答えて
私はそれが可能だとは思いません - それはPythonの仕組みです。あなたができる最善の方法は、最初に*.pyc
ファイルを削除する何らかの自動スクリプトを用意することです。あるいは、すべてのインポートを自動的にコンパイルする開発モジュールを用意することもできます。compile
モジュールを試してみてください。
私は個人的にはこのようなトラブルを経験していませんが、ファイルのタイムスタンプをチェックしてみてください。ディレクトリ内のすべてのPythonファイルに対してtouch
を実行してみることができます。 (find -name \\*.py -exec touch \\{\\} \\;
)
force = Trueを指定したcompileall.compile_dirは、このトリックを実行する必要があります。 – jonatron
あなたを助けるかもしれないいくつかのモジュールがあります。
はpy_compileモジュール(http://effbot.org/librarybook/py-compile.htm)は(「インポート」ステートメントがないようにそれらを実行せずに)明示的にモジュールをコンパイルすることができます。
import py_compile
py_compile.compile("my_module.py")
また、compileallモジュール(http://effbot.org/librarybook/compileall.htm)がディレクトリにあるすべてのモジュールをコンパイルします。
import compileall
compileall.compile_dir(".", force=1)
あなたはcompileall
compileall.compile_dirを探しています(DIR [、 maxlevels [、DDIR [、[RX、[強制、 静かな]]]]])
dirという名前のディレクトリツリーを再帰的に降下させ、すべての.py ファイルをコンパイルします。
- 1. Pythonでのインポートの防止
- 2. Pythonのエンコーディングエラーを防止する
- 3. ActionScriptコードの逆コンパイルを防止する方法
- 4. Pythonの "private"属性へのアクセスを防止する
- 5. Python:文字列の%s置換を防止する
- 6. Pythonで電子メールヘッダの挿入を防止する
- 7. Fullpage.js - スクロールを防止する
- 8. ループを防止するjQuery
- 9. jQuery:スタッキングアニメーションを防止する
- 10. OnErrorNotImplementedExceptionを防止する
- 11. IPスプーフィングを防止する
- 12. extrenalhitキャッシングを防止する
- 13. ローカルポインタの防止
- 14. サーバサイドのPythonタイムアウトを防止しますか?
- 15. はハッキングを防止し、Pythonのソースコードに可能な重複を
- 16. ウェブページのテキストのコピーを防止する
- 17. jqGridの行のクリックイベントを防止する
- 18. 防止jQueryのイベント
- 19. DOM XSSの防止
- 20. 防止用のvim:P
- 21. 防止スタックオーバーフロー
- 22. 防止エンコード
- 23. Androidハッキング防止
- 24. 防止スクロール
- 25. 防止シリアライザ
- 26. ホットリンク防止
- 27. 防止提示
- 28. 防止ブルートフォース
- 29. 防止シリアライズ
- 30. jquery防止ループ
これらは再コンパイルする必要があります。なぜなら、最初にどうやっていないのかを調べるためです。 –
うん、まさに。権限エラー?例えば。ソース.pyが読み込み専用の場合、結果の.ycycバイトコードは読み込み専用であるため、上書きすることは難しくなります。 – ewall
それらは**再コンパイルされておらず、**停止したい**それらは再コンパイルからですか?それはほとんど意味がありません。彼らは再コンパイルしていません - あなたは何を "停止"していますか? –