「cannot import name ‘requests’ from ‘bottle’ 」の対処法

エラー箇所

# coding:utf-8
from bottle import route, run, template, get, post, request, requests
from requests.auth import HTTPBasicAuth
import json
from json import loads

エラーコードと原因の調査

Traceback (most recent call last):
 File "form.py", line 2, in 
   from bottle import route, run, template, post, request,requests
ImportError: cannot import name 'requests' from 'bottle' (C:\Users\****\AppData\Local\Programs\Python\Python37\lib\site-packages\bottle.py)

requestsというパッケージ(pip?、モジュール?)がインポートできない…

以下のページを参考にしてみても原因が分からない…
ImportError: cannot import name route in python bottle
BottleのTODOチュートリアルが動かない件と対処方法

どうやら、「bottle.py」というファイル名が、フレームワークのファイル以外に存在している場合(自分で作成したアプリに「bottle.py」というファイル名をつけている場合)、ImportErrorが出る模様。
ただ、自分の場合、「bottle.py」なんてファイル名つけてないけどなぁ…

BottleでRequestsがサポートされていないのかも…
「Bottle Requests」で検索しても全くヒットしないしなぁ(「request」がヒットする)。

原因が分かった!

と、いろいろと原因を模索していると、気づいた。

「requests」って、「bottle」からインポートするのでないんでない?

………
はい、その通りでした!

from bottle import requests

import requests

と、bottleからインポートしないようにすると動いた。
こういうのは基礎中の基礎のような気が… (ノД`)・゜・。

コメント

タイトルとURLをコピーしました