モジュールをインポートしようとしていますが、ImportErrorが発生し続けます。
PortfolioStatus.pyファイルには、share_data.pyモジュールからshare_dataクラスをインポートする次のコードがあります。from Shares.share_data import share_data
次のエラーが発生します。
File "/home/lucasamos/FYP/Shares/Communication/PortfolioStatus.py", line 3, in <module>
from Shares.share_data import share_data
ImportError: No module named Shares.share_data
物事をより混乱させるために、これは私のローカルマシンでうまく機能しますが、私はPythonAnywhereでホストしていて、ここでエラーが発生します
私のファイル階層は下の画像に示されています
前もって感謝します!
わかりましたので、ようやく解決しました。いくつかの回答に示されているように、ルートフォルダーをシステムパスに追加する必要がありました。
最後に、これは私がやったことです:
import sys
sys.path.append("/home/lucasamos/FYP")
あなたはこれを試すべきです:
import sys
sys.path.append("../Shares/templates")
import share_data
テンプレートフォルダーをパスのリストに追加しますpythonはモジュールをチェックしています。
___init__.py
_ファイルを使用して、1つのレベルに空の_manage.py
_を追加します。
___init__.py
_ファイルをこのように含めると、Pythonインタプリタは、ディレクトリをPythonパッケージとして扱う必要があります。
これは、SharesディレクトリがPYTHONPATHにないためと考えられます。
PYTHONPATHの使用に関するこの記事を参照してください: https://users-cs.au.dk/chili/PBI/pythonpath.html
抜粋:
ただし、メインプログラムと同じディレクトリにないモジュールをインポートする必要がある場合がよくあります。上記の例を続けて、〜/ PBI /にあるプログラムを作成していて、mymodule.pyを含める必要があると仮定します。
Pythonインタプリタがモジュールを見つけるためには、どこに検索するかを指示する必要があります。これは、環境変数PYTHONPATHを設定することで実行できます。使用するシェルプログラムによっては(たとえば、 xterm)、これは2つの方法のいずれかで行われます。
バッシュ:
export PYTHONPATH = $ {PYTHONPATH}:/ users/[your username]/PBI/Modules /