ベストアンサー
コードがないと、明確な答えを見つけるのは困難ですが、問題は、インポートしているコードが次のようなものだと思います:
fluff
というモジュールがあり、そのモジュール内にクラスがありますfluffクラスにはfluff;
というメソッドがあります。check\_output
コードは次のようになります:
import fluff
cfg = fluff.check\_output(stuff) # You want the fluff class here
問題は、そのすべてがimport fluff
は、綿毛モジュールをインポートします。必要な綿毛クラスは実際にはfluff.fluff.
2つの解決策があります:
1:
import fluff
cfg = fluff.fluff.check\_output(stuff) # You want the fluff class here
2:
from fluff import fluff # this imports the fluff class.
cfg = fluff.check\_output(stuff) # You want the fluff class here
これが、命名規則が非常に重要である理由の1つです。クラスはPEP8の命名規則に従い、コードは次のようになります。
from fluff import Fluff # this imports the fluff class.
cfg = Fluff.check\_output(stuff) # You want the fluff class here
その大文字の「F」はエラーを防ぐのに十分かもしれません-または少なくとも潜在的な問題への手がかりになります
-——
他の潜在的な答えは、インポートしているモジュールが別のファイルによってシャドウされています(言い換えると、Pythonがインポートするものを検索する前に見つけた同じ名前のファイルがあります)。初心者でこれが発生する最も一般的な原因は、インポートしようとしているモジュールと同じようにスクリプトに名前を付ける場合です。 「foo.py」というスクリプトがあり、「import foo」を実行する場合、Pythonは常に現在のディレクトリファイルを検索するため、そのインポートでは「foo.py」という名前のスクリプトがインポートされます。おそらく必要なものではありません。
この問題を診断する最善の方法は、同じディレクトリでインタラクティブコンソールを開き、次のように入力することです。
>>> import
>>>
ここで、
回答
見ずにあなたのコードでは、それは私が考えることができる2つの問題の1つである可能性があります(ただし、これら2つに限定されません)。
- モジュールが正しくインストールされていません。モジュールのsite-packagesフォルダーを確認してください。そこにある場合は、問題がない可能性があります。 2、つまり:
- 適切なバージョンのPythonで実行されていません。つまり、Python2用のモジュールをインストールしていますが、Python3インポートで呼び出しています。 pipを使用してモジュールをアンインストールしてから、pip3で再インストールして適切なバージョンを取得してください。理由はわかりませんが、Raspberry Pi Zero W v1.1のような一部のマシンでは、pipコマンドがデフォルトで3ではなくPython2に設定されています。
python3
<通常のpython
の代わりに/ div>コマンド。
モジュールソースをコピーするという一時的な「ダーティ」ソリューションを提案できます。作業ディレクトリ。つまり、「モジュール」フォルダを取得して、実行しているソースファイルと同じフォルダに配置します。また、gitリポジトリのクローンを作成したか、同じ名前の別のフォルダにある別のフォルダ内にmodule.pyファイルがある.zipフォルダから抽出した可能性もあります。この場合、次のように、モジュールをすぐにインポートするのではなく、module.moduleをモジュールとしてインポートすると役立つ場合があります。
import module.module as module
わりに
import module
コード内の変更量を減らします。頑張ってください!