previous arrowprevious arrow
next arrownext arrow
Shadow
Slider

Django PythonのModuleNotFoundErrorでハマった話

Djangoのプロジェクト名やアプリ名には気を付けた方が良いという話です。

備忘録として残しておきます。

インポートするモジュールと作成するアプリ、プロジェクト名は一致させないように注意という話です。

起こったこと:モジュールはあるが、ModuleNotFoundErrorが出る

pipコマンドでamazon-paapi5をインストールしました。

モジュールを参照しようとすると以下でModuleNotFoundErrorが出る…

from amazon.paapi import AmazonAPI

以下コマンドを使ってインストール先を確認してみても、ちゃんとインストールされている。

実行結果

Name: amazon-paapi5
Version: 1.1.2
Summary: Amazon Product Advertising API 5.0 wrapper for Python
Home-page: https://github.com/alefiori82/amazon-paapi5
Author: Alessandro Fiori
Author-email: alessandro.fiori@gmail.com
License: GPL-3.0
Location: c:\pg\python39\lib\site-packages
Requires: amightygirl.paapi5-python-sdk

フォルダもちゃんと存在していることを確認しました。

原因:アプリ名のフォルダ

結論、アプリ名が参照モジュールと同じamazonフォルダだったことでした。

from amazon.paapiの意味としては

amazonフォルダ内のpaapi.pyを参照するです。

恐らく、「プロジェクトのamazonフォルダを見に行ったけど、paapi.pyなんてありません」ということでエラーになっていたようです。

対応はプロジェクト名を変更して作り直し

対応としては、プロジェクト名をamazon→AmazonAppという別名にして作り直しました。

これでエラーが出なくなりました。

プロジェクト名やファイル名には気を付けましょう。

ABOUT ME
LooseCarrot
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール
関連している記事

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です