À l'aide de Boto pour se connecter à S3 avec Python
J'essaye d'accéder à AWS à l'aide de Boto, et il ne fonctionne pas. J'ai installé Boto, et le nom de boto.cfg dans /etc. Voici mon code:
import requests, json
import datetime
import hashlib
import boto
conn = boto.connect_s3()
Voici l'erreur:
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'
Ce que l'enfer? Ce n'est pas compliqué.
Vous ne savez pas si mon erreur est liée, mais je suis boto/utils.py" ligne 171, dans merge_meta si k.lower() dans boto.s3.clé.Clé.base_user_settable_fields: AttributeError: 'module' objet n'a pas d'attribut "clé"
OriginalL'auteur Randall Pinkston | 2012-12-13
Vous devez vous connecter pour publier un commentaire.
Il ressemble le fichier sur lequel vous travaillez est appelé
boto.py
. Je pense que ce qui se passe ici, c'est que votre fichier est de l'importation de lui-même--Python recherche pour les modules dans le répertoire contenant le fichier de procéder à l'importation avant qu'il apparaît sur votrePYTHONPATH
. Essayez de changer le nom de quelque chose d'autre.marque ce comme acceptée
Notez que vous aurez également besoin de supprimer l'généré
boto.pyc
si elle a été créée.Merci pour cette. eu le même problème
OriginalL'auteur khagler
@valdogg21
Je suis vos instructions et mettre ceci dans mon code:
Mais malgré mes bonnes intentions, il en résulte une petite erreur. J'ai juste fait
sudo pip install boto --upgrade
pour m'assurer d'avoir la dernière version installée.C'est le message d'erreur. Je me demandais si je suis un loup solitaire ou si d'autres personnes rencontrent ce problème...
OriginalL'auteur user2164689
Vous devrez peut-être faire quelque chose de similaire à la façon dont j'ai eu à utiliser les
EC2Connection
classe dans certains de mon code qui ressemble à ceci:Aussi, à partir de leurs docs (http://boto.s3.amazonaws.com/s3_tut.html):
EDIT: je sais que la page de doc a le raccourci de la fonction que vous tentez d'utiliser, mais j'ai vu un problème similaire lors de la tentative de faire le même type de raccourci avec EC2.
OriginalL'auteur Valdogg21
Utiliser la Connexion classes.
par exemple
OriginalL'auteur Amit Talmor
J'ai essayé toutes vos solutions, mais aucune ne semble pas fonctionner. Je continue sur StackOverFlow que je ne peux pas voir quelqu'un d'autre de ne pas avoir ce petit problème. Un peu bizarre le fait est que, dans le serveur, il fonctionne comme un charme. La question est sur mon Mac
OriginalL'auteur user2164689
J'ai eu ce problème et a été confronté à la même erreur lors de l'utilisation de boto3 et moto pour se moquer de compartiment s3.
Je remis ma bibliothèque à boto et il a bien fonctionné. Il ressemble à boto3 a migré connect_s3() de ressources():
Je pouvais résoudre problème similaire pour AWS Lambda:
OriginalL'auteur Vishal