要求パッケージをインポートするrequests.py
というスクリプトがあります。スクリプトはパッケージの属性にアクセスできないか、パッケージをインポートできません。なぜこれは動作しないのですか?どうすれば修正できますか?スクリプトからインストールされたパッケージをインポートすると「AttributeError:モジュールに属性がありません」または「ImportError:名前をインポートできません」
次のコードは、AttributeError
を発生させます。
import requests
res = requests.get('http://www.google.ca')
print(res)
Traceback (most recent call last):
File "/Users/me/dev/rough/requests.py", line 1, in <module>
import requests
File "/Users/me/dev/rough/requests.py", line 3, in <module>
requests.get('http://www.google.ca')
AttributeError: module 'requests' has no attribute 'get'
次のコードはImportError
を上昇させます。
from requests import get
res = get('http://www.google.ca')
print(res)
Traceback (most recent call last):
File "requests.py", line 1, in <module>
from requests import get
File "/Users/me/dev/rough/requests.py", line 1, in <module>
from requests import get
ImportError: cannot import name 'get'
The following codeImportError
を発生させます。
from requests.auth import AuthBase
class PizzaAuth(AuthBase):
"""Attaches HTTP Pizza Authentication to the given Request object."""
def __init__(self, username):
# setup any auth-related data here
self.username = username
def __call__(self, r):
# modify and return the request
r.headers['X-Pizza'] = self.username
return r
Traceback (most recent call last):
File "requests.py", line 1, in <module>
from requests.auth import AuthBase
File "/Users/me/dev/rough/requests.py", line 1, in <module>
from requests.auth import AuthBase
ImportError: No module named 'requests.auth'; 'requests' is not a package
これは一般的な質問に対する標準的な回答を意図しています...他の質問にもっと良い、より完全な回答があることを確認しない限り、重複しないでください。 – Ffisegydd