1

私はこのようなパッケージを持っています

sound/
    __init__.py
   effects/
       __init__.py
       echo.py
   formats/
      __init__.py
     avi.py

avi.pyの中に私はこのようなインポートステートメントを持っています

from sound.effects import echo

このコードは、モジュール名のないsound.effectエラーをスローします

pythondocsから、これが可能であることがわかりました。そして、stackoverflowを検索して、関連する質問と回答を見つけましたが、理解できませんでした。

これを解決するのを手伝ってください。

ありがとう、

プラウィン。

4

3 に答える 3

2

avi.pyフォルダから実行してformatsいて、調整しない場合、PythonはパッケージPYTHONPATHを見つけることができません。effectsサウンドディレクトリの外部からコードを実行するか、livesがthtatの一部でPYTHONPATHあるディレクトリを含むように環境変数を変更するか、実行時にコードを変更してみてください(たとえば、このリンクを参照)。soundPYTHONPATH

于 2013-02-20T08:24:36.087 に答える
2

フォルダ名がeffects、の場合、なぜからインポートしようとしているのeffectですか?from sound.effects import echo代わりに試してください。

echoまた、なぜそれ自体からインポートしようとしているのですか?

于 2013-02-20T08:20:22.153 に答える
1

これはsound.effectタイプミスであり、ですsound.effects。その場合、問題はプロジェクト構造が原因である可能性があります。

プロジェクトのルートレベルがsound図のようになっていて、それを(または他の任意の数のインストール方法)に追加した場合PYTHONPATH、Pythonはどこを探すべきかわかりませんsound(ルートディレクトリに相対的なディレクトリがないため)名前付きsound)。

したがって、通常、次のようなパッケージ構造が表示されます。

sound/
    README
    LICENSE
    setup.py
    sound/
        __init__.py

...等々。

現在のディレクトリ構造では(そして私の仮定が正しければ)、実際に機能するインポートはですfrom effects import echo

于 2013-02-20T08:25:16.787 に答える