a.py と b.py の 2 つのファイルがあります。それらは同じプロジェクトの異なるブランチです (別のブランチを git で別のディレクトリにチェックアウトします)。a.py と b.py の両方から関数をインポートして互いに比較する 3 番目のファイル c.py があります。
私の問題は、 a.py と b.py のインポートはほぼ同じですが、ブランチが異なるため、インポートする内容が異なることがよくあります。テストする関数を各ファイル (a.py および b.py) から c.py にインポートするとき、それらのパスを sys.path に追加する必要があります。これを行うと、b.py は a.py と同じモジュールをインポートします。それ自体をインポートしたり、その逆を行ったりするのではありません。
現時点では、新しいブランチを作成するたびに、インポートに追加の「ディレクトリ」を追加しているだけです。したがって、もともと b.py (非マスター ブランチ) に x、y、z をインポートしていた場合、これらのモジュールを含むディレクトリの前にパスを sys.path に追加し、インポートを branch_a.x として x、branch_a に変更します。 .y as y、branch_a.z as z... それほど時間はかかりませんが、自動化されたソリューションがあると便利です。何か案は?
編集:相対パスのコード:
import sys
sys.path.append("./..")