当前位置: 首页 > 知识库问答 >
问题:

无法加载Boto的S3绑定。(已安装Boto)

金亦
2023-03-14

我尝试使用s3存储用户的上传文件,我使用django存储

pip安装django存储

加进了我的INSTALLED_APPS

已安装的应用程序=(

。。。

'存储',

)

在设置中设置变量。py公司

DEFAULT_FILE_STORAGE='storages.backends.s3boto. s3BotoStorage'

AWS\u ACCESS\u KEY\u ID=“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”

AWS\u SECRET\u ACCESS\u KEY=“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”

AWS_STORAGE_BUCKET_NAME名称

我已安装boto

sudo pip安装boto

dyld:dyld\UU环境变量被忽略,因为主可执行文件(/usr/bin/sudo)是setuid或setgid

已满足要求(使用--升级以升级):boto-in/Library/Python/2.7/site-packages/boto-2.9.0\u dev-py2。7.鸡蛋

正在清理。。。

当我保存该项时,django的调试页面跳出,

无法加载Boto的S3绑定。

看见https://github.com/boto/boto

有什么想法吗?(我使用mac os x 10.8.3)

共有1个答案

韦衡
2023-03-14

创建bash脚本:install\u latest\u boto。上海:

#install latest boto from source
cd /home/ubuntu/
sudo mkdir boto_temp
cd boto_temp
sudo git clone git://github.com/boto/boto.git
cd boto
sudo python setup.py install 

在Django的设置中,Django的默认存储将是s3:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_S3_FILE_OVERWRITE = False

在您的models.py:

class MyBaseModel(models.Model):
    class Meta:
        abstract = True

    @staticmethod
    def get_upload_path(instance, filename):
        if hasattr(instance, 'get_upload_folder'):
            return os.path.join(instance.get_upload_folder(), filename)
        else:
            raise Exception('Upload Folder is missing')

class User(MyBaseModel):
    name = models.CharField(max_length=100) 
    email = models.EmailField(max_length=255, unique=True)
    image = models.ImageField(upload_to=MyBaseModel.get_upload_path, default=None, blank=True, max_length=200)

    def get_upload_folder(self):
        upload_folder = 'users/images/orig'
        return upload_folder
 类似资料:
  • 我在maven本地存储库(~/.m2/repository/)中安装了by jar文件,方法是按照第三方JARs安装教程安装groupID、artifactId、version和打包,如下所示: mvn安装:install-file-dfile=CAENRFIDLibrary.jar-dgroupid=com.caen-dartifactid=RFIDLibrary-dversion=4.7.0-

  • 我现在感觉好傻 我正在尝试使用django存储 我已安装 然后,将添加到settings.py 然后在设置中。py公司 并尝试查看是否更改了默认文件存储: 我错过了什么

  • 问题内容: 当我尝试在Eclipse中运行R控制台时,出现以下错误: 所以我试图像这样在R控制台中安装它: 并得到此错误: 并且我发现在使用r安装rJava 时出现类似错误: 运行时,我得到以下输出: 顺便说一下,我的配置是: 问题答案: 我找到了解决方案: 然后 注意:路径(java-7-oracle)需要根据您的Java安装进行更新。

  • 我最近创建了一个新的AWS帐户(我们称之为“帐户a”),并在这个帐户中创建了一个S3 bucket(我们称之为“bucketa”),上传了一个文件foo.txt。根据来自internet的建议,我设置了我认为是最允许的桶策略(它应该允许任何用户进行任何类型的访问): 为什么帐户B不能访问bucketa,尽管它的桶策略非常允许?是否需要设置其他AWS帐户的公共访问权限? 注意:我已经排除了帐户B的.

  • 问题内容: 我在s3中有一个存储桶,它具有深层的目录结构。我希望我可以一次全部下载它们。我的文件如下所示: 有什么方法可以使用python中的boto lib从s3存储桶中递归下载这些文件? 提前致谢。 问题答案: 您可以按以下方式在存储桶中下载所有文件(未经测试): 请记住,S3中的文件夹只是写密钥名的另一种方法,只有客户端会将其显示为文件夹。