1. ホーム
  2. python

[解決済み] Pythonエラー "ImportError: No module named"

2022-03-18 09:22:38

質問

Pythonはローカルディレクトリにインストールされています。

私のディレクトリツリーはこんな感じです。

(local directory)/site-packages/toolkit/interface.py

私のコードはこの中にあります。

(local directory)/site-packages/toolkit/examples/mountain.py

サンプルを実行するために、次のように書きます。 python mountain.py , と、コードの中にあります。

from toolkit.interface import interface

とエラーが出ます。

Traceback (most recent call last):
  File "mountain.py", line 28, in ?
    from toolkit.interface import interface
ImportError: No module named toolkit.interface

を確認済みです。 sys.path というディレクトリがあり、そこに /site-packages . また、ファイル __init__.py.bin を toolkit フォルダに入れることで、Python にこれがパッケージであることを示します。また __init__.py.bin をexamplesディレクトリに配置しました。

の中にあるのに、なぜPythonがそのファイルを見つけられないのかわかりません。 sys.path . 何か思い当たることはありますか? それはパーミッションの問題であることができますか? 何か実行権限が必要なのでしょうか?

解決方法を教えてください。

oripさんの投稿へのコメントから推測すると、このようなことでしょうか。

  1. あなたが編集した __init__.py をウィンドウズで表示します。
  2. Windowsのエディタは何か印刷されないもの、おそらくキャリッジリターン(Windowsの行末はCR/LF、unixではLFのみ)、あるいはCTRL-Z(Windowsのファイル終端)を追加したのでしょう。
  3. WinSCPを使用して、ファイルをunixボックスにコピーしたのですね。
  4. WinSCPは考えました: "これは基本的なテキストではない何かがあります。バイナリデータを示す.bin拡張子を付けます。
  5. 不足している __init__.py (現在は __init__.py.bin ) は、python が toolkit をパッケージとして理解していないことを意味します。
  6. あなたが作成した __init__.py を適当なディレクトリに配置すれば、すべてうまくいくのですが......。?