У меня есть сценарий с именем 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 code поднимает ImportError
.
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