絶対インポートを使用してPython 3の兄弟ディレクトリからモジュールをインポートする方法を理解できません。兄弟ディレクトリからのインポート(python 3)
sys.path
を変更してください。__init__.py
とsetup.py
を使用して、ディレクトリをpip installableパッケージに変換します。
オプション1の場合、sys.path
を変更して、兄弟ディレクトリからモジュールをインポートする方法を考えましたが、この方法は少し難解です。また、私はそれが好まれないことを読んだ。どうして? sys.path
の変更について、本質的に間違っているか危険なことはありますか?
オプション2の場合:私のパッケージピップをインストール可能にするために正確に何をする必要がありますか?私は__init__.py
ファイルを作成しましたが、配布用に私のパッケージを準備するにはsetup.py
スクリプトを作成して設定する必要があるようです。私はまだ開発モードにあるので、これは本当に最高の/ pythonicメソッドですか?それが正しい場合は、setup.py
を作成した後に端末にpython setup.py install
と入力するだけですか?
編集:私は現在、絶対インポートを使用してこれを調べようとしています。これは、Python 3が相対インポートをサポートしているためです。私が何を読んでから、
ありがとうございました。私は家にいるときにこれを試してみる。絶対輸入はどうですか? sys.pathを変更せずに絶対インポートを使用して、異なるディレクトリ間でモジュールをインポートすることは可能ですか? – puketronic
https://docs.python.org/3/library/importlib.html#importlib.find_loader –
Python 3でサポートされていない「相対インポート」は暗黙のものです:https://docs.python.org/ 2/tutorial/modules.html#intra-package-references –