TL、このような固定および不変非パッケージのディレクトリ構造についてDRインポート、Pythonの2.7
:
some_dir/
mod.py
test/
test_mod.py
example_data.txt
は非何test_mod.py
をmod.py
からインポートできるようにするパッケージ方法?
この場合、Python 2.7を使用するように制限されています。
mod.py
に機能のテストをいくつか書きたいと思います。 mod.py
と並んで新しいディレクトリtest
を作成したいのですが、そこにはmod.py
から関数をインポートしてテストする1つのテストファイルtest/test_mod.py
があります。
パッケージベースのネーミングに依存する相対インポートの既知の制限のため、これを簡単に行うことはできません。しかし、トピックに関するすべてのアドバイスは、スクリプトをパッケージとして構築し、相対的なインポートを使用することを示唆しています。これは、私のユースケースでは不可能です。
私の場合、mod.py
はパッケージとしてビルドすることはできません。私はmod.py
のユーザーにインストールする必要はありません。代わりに、バージョンコントロールからファイルをチェックするだけで自由に使用でき、使いたいと思っても使い始めることができます。その状況を変更することはできません。
これを考えると、簡単でわかりやすい方法を教えてください。test
?
注:mod.py
と一緒に座っているないだけでテストファイルが、他のそれに付属するテストデータなどの資産、およびサブディレクトリの組織が存在しますので、実際のテストディレクトリが重要です。
これは重複していますが、投稿前に私の研究で見たこの質問のダースまたはそれ以上の並べ替えのうち、私はお詫び申し上げます。彼らはすべて私の場合のための許容されるオプションではないパッケージングを使用すると言う。
もっとも洗練された解決策ではないかもしれませんが、テストランナーのために 'PYTHONPATH'を修正することができます。 。 。 – mgilson