python - AttributeError: 'module' Objekt hat kein Attribut
Ich versuche mit diesem einfachen code:
import requests
print requests.__file__
r = requests.get('https://github.com/timeline.json')
Es funktioniert einwandfrei auf der Kommandozeile geben, wenn ich die Zeilen eins nach dem anderen, aber nicht whenen, wenn ich ausführen als Skript oder in Sublime Text 2. Hier ist der stack trace:
C:\Python27\lib\site-packages\requests\__init__.pyc
Traceback (most recent call last):
File "C:\Users\Bruce\Desktop\http.py", line 1, in <module>
import requests
File "C:\Python27\lib\site-packages\requests\__init__.py", line 53, in <module>
from requests.packages.urllib3.contrib import pyopenssl
File "C:\Python27\lib\site-packages\requests\packages\__init__.py", line 3, in <module>
from . import urllib3
File "C:\Python27\lib\site-packages\requests\packages\urllib3\__init__.py", line 16, in <module>
from .connectionpool import (
File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 15, in <module>
from http.client import HTTPConnection, HTTPException
File "C:\Users\Bruce\Desktop\http.py", line 3, in <module>
r = requests.get('https://github.com/timeline.json')
AttributeError: 'module' object has no attribute 'get'
[Finished in 0.2s with exit code 1]
Antworten auf 'Modul-Objekt hat kein Attribut 'get' Python-Fehler-Anforderungen? nicht viel helfen.
Könnte dies sein, einige Fehler in meinem ST2 Python-build-system? Ich habe versucht, das entfernen Sie alle requests
Module in Fall gab es ein Vielfaches davon, indem Sie mit pip
und neu installiert.
Sie haben eine
Nein!
Könnten Sie überprüfen und tun
Getan.
okay - und dann ein
requests.py
Datei in der Desktop
Ordner?Nein!
Könnten Sie überprüfen und tun
print requests.__file__
bitte...Getan.
okay - und dann ein
print dir(requests)
?InformationsquelleAutor Bruce | 2013-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten Nach dem Lesen der stacktrace wieder, Sie können sehen, dass
urllib3
versucht zu importieren, die etwas von derhttp
Modul. Ihre Datei wird alshttp.py
und ist somit importiert statt der erwarteten einen.Den tatsächlichen Fehler passiert, weil der kreisförmigen Natur der import. Da
requests
noch nicht fertig, Import vollständig noch. Dieget
Funktion inrequests
noch nicht definiert ist, wenn diehttp
import erreichtimport requests
wieder.Hinweis: Sie wollen auch immer schützen Sie Ihre Eingabe Punkt mit der
if __name__ == '__main__'
konstruieren. Dies wird oft vermeiden Sie Fiese Fehler für ahnungslose zukünftige Entwickler (einschließlich sich selbst).ah sorry, ich war in der Nähe though. Ich habe gerade festgestellt, dass
urllib3
hat einefrom http.client import HTTPConnection, HTTPException
. Es scheint Ihrhttp.py
Datei-shadowing, das anstelle? Versuchen Sie es umbenennen.Übrigens, mein Punkt steht noch. Immer schützen Sie Ihre Einstiegspunkt!
Ja! Das war es! Vielen Dank für die Beratung.
Mein Fehler war
'module' object has no attribute 'post'
und mein Dateiname waremail.py
. Umbenennen der Datei behoben! Danke!InformationsquelleAutor Wessie