Mit Boto zu verbinden, S3 mit Python
Ich versuche, den Zugriff auf AWS mithilfe von Boto, und es funktioniert nicht. Ich habe installiert Boto, und der boto.cfg in /etc. Hier ist mein code:
import requests, json
import datetime
import hashlib
import boto
conn = boto.connect_s3()
Hier der Fehler:
Traceback (most recent call last):
File "boto.py", line 4, in <module>
import boto
File "/home/mydir/public_html/boto.py", line 6, in <module>
conn = boto.connect_s3()
AttributeError: 'module' object has no attribute 'connect_s3'
Was zur Hölle? Dies ist nicht kompliziert.
- Nicht sicher, ob mein Fehler ist, aber ich bin immer boto/utils.py", line 171, in merge_meta, wenn k.lower() in boto.s3.Schlüssel.Schlüssel.base_user_settable_fields: AttributeError: 'module' Objekt hat kein Attribut 'Schlüssel'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie die Datei, die Sie arbeiten, heißt
boto.py
. Ich denke, was hier passiert ist, dass Ihre Datei für den Import an sich-Python sieht für die Module in das Verzeichnis, das die Datei den import vor sieht es auf IhremPYTHONPATH
. Versuchen Sie, den Namen zu ändern, um etwas anderes.boto.pyc
wenn es erstellt wurde.@valdogg21
Ich bin nach Ihren Anweisungen, und diese in meinem code:
Aber trotz meiner guten Absichten, er führt in einen kleinen Fehler. Ich habe gerade
sudo pip install boto --upgrade
um sicherzustellen, dass ich die neueste version installiert haben.Dies ist die Fehlermeldung. Einfach Fragen, wenn ich bin ein einsamer wolf, oder ob andere dieses Problem Auftritt...
Möglicherweise müssen Sie etwas tun, ähnlich wie die, die ich hatte, zu nutzen, um die
EC2Connection
Klasse in einige meiner code, die wie folgt aussieht:Auch, von Ihren docs (http://boto.s3.amazonaws.com/s3_tut.html):
EDIT: ich weiß, dass doc Seite hat die shortcut-Funktion, die Sie versuchen zu verwenden, aber ich sah ein ähnliches problem, wenn Sie versuchen zu tun, die gleiche Art von Verknüpfung mit EC2.
Verwenden Sie die Connection-Klassen.
z.B.
Ich habe versucht, alle Lösungen, aber keiner von Ihnen scheint zu arbeiten. Ich halte den Umweg über StackOverFlow, wie ich kann nicht sehen, alle anderen nicht mit dieser eher kleinen Problem. Irgendwie komisch, Tatsache ist, dass in den server-es funktioniert wie ein Charme. Das Problem ist auf meinem Mac
Ich hatte dieses Problem und war vor dem gleichen Fehler bei der Verwendung von boto3 und moto zu verspotten s3-bucket.
Wechselte ich wieder meine Bibliothek boto und es funktionierte gut. Es sieht aus wie boto3 migriert hat connect_s3 (), um Ressourcen():
Konnte ich beheben ähnliches Problem bei AWS Lambda auch: