2017-04-25 10 views
1

私はPycharmにpython3パッケージを開発しましたが、テストケースではimportモジュールを試してみると混乱します。問題は、内部パッケージモジュールへのディレクトリパスにあるようです。問題を説明するのは少し難しいですが、ここに要点があります。pycharm 2017.1モジュールをロードするためのディレクトリパスに矛盾があります

私がしようとすると、モジュールをインポートするときにPythonのパッケージ名は今pyugend.ある - パッケージ内 - テストケースにModels名付け、pycharmpyugend.pyugend.Models.は、だから私は二回pyugendを参照する必要があると私はパスを参照します。

しかし、このパッケージをjupyterノートブックまたは一部のスクリプトにビルド、インストール、およびインポートすると、pyugendパッケージで内部モジュールが見つからないというエラーが発生します。これらのエラーを修正する唯一の方法は、モジュール内部のパスをpyugend.Modelsのような参照に変更することです。

だから、基本的に、私は内部のパッケージ輸入のすべてがfrom pyugend.pyugend.Models import ...のようなディレクトリ・パスを使用しかし、私はpycharmの外のパッケージを使用する場合、私は実際にパッケージに行かなければならないことを確認しているpycharmの内部テストを実行するには、 import pyugend.pyugend...すべての参照を単一のimport pyugend.Models ...参照に変換してください。

私はあなたが__init.py__で輸入する前に行sys.path.append(os.path.dirname(os.path.abspath(__file__)))を追加しfrom pyugend.Models import Base_modelへの輸入を変更し、その上にできるディレクトリ構造の画像だけでなく、__init__.py. enter image description here

答えて

0

の画像が含まれていましたパッケージを使用するたびに一貫した動作を可能にします。

+0

ちょっと@ ad22アイデアのおかげで。私はこれを試しましたが、まだ運がありません。 – krishnab

関連する問題