自分のプロジェクトで明確なファイル構造を使用できるようにするには、次のコードスニペットを使用してプロジェクトのメインフォルダをPYTHONPATHに動的に追加します。ファイルの場所。動的にPYTHONPATHを更新すると.pycの更新が防止される
import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), "."))
メインファイルを起動すると、.pycファイルを手動で削除するまで、モジュールの変更は認識されなくなりました。したがって、私はこれが何らかの理由でpycファイルが最新であるかどうかをpythonがチェックできないようにします。この問題を何とか克服できますか?
経由でパッケージの一部としてそれを呼び出すべきではありません。私はなぜこれが起こっているのか理解したいと思いますが。 – weidler
'sys.modules'にはインタプリタによってロードされたモジュールが含まれています。 PYTHONPATHを変更していて、いくつかの新しいモジュールが既に存在していたものを上書きする場合、おそらく新しい変更は見られません。とにかくこのような魔法を使うべきではありません。 PYTHONPATHを可能な限りファイル階層内で高く設定するだけで済みます。また、virtualenvを使用してプロジェクトと他の依存関係をインストールする必要があります。また、複雑な作業を行うためのsetup.pyエントリポイントも必要です。あなたは、シンプリスクリプトから成長し、それをリファクタリングしていないプロジェクトがありますか? –