2015-11-21 2 views
0
from flask import Flask 
from flask.ext.uploads import UploadSet, configure_uploads, IMAGES 

app = Flask(__name__) 

app.config['UPLOADED_PHOTOS_DEST'] = '/home/kevin' 
photos = UploadSet('photos', IMAGES) 

configure_uploads(app, (photos,)) 

выше мой код, однако он дает мне следующую ошибку:Flask-Uploads дает AttributeError?

Traceback (most recent call last): 
    File "./main.py", line 10, in <module> 
    configure_uploads(app, (photos,)) 
    File "/usr/lib/python3.5/site-packages/flaskext/uploads.py", line 197, in configure_uploads 
    should_serve = any(s.base_url is None for s in set_config.itervalues()) 
AttributeError: 'dict' object has no attribute 'itervalues' 

Я использую Настой 0.10.1 и колбовых загрузки 0.1.3, что часть моего Код указан неверно?

ответ

1

Как вы заметили, колбовые загрузки 0.1.3 не поддерживает Python 3 из-за вызова dict.itervalues().

Недавно я принял на себя роль хранителя проекта Flask-Uploads и принял PR, исправляющий проблему в this commit.

релиз 0.2.0, который включает в себя это исправление не толкнул PyPi еще, но пока это не произойдет, вы можете установить совместимую версию Python 3 прямо из GitHub:

pip install git+https://[email protected]/jeffwidman/flask-uploads.git 

Если вы попали какие-либо вопросы, , трекер проблемы находится здесь: https://github.com/jeffwidman/flask-uploads/issues

+0

Прохладный и спасибо! Итак, значит, Flask-Uploads 0.2.0 теперь поддерживает Python 3? –

+0

Да, я на самом деле не отмеченный релиз, потому что я только что сделал кучу изменений, чтобы модернизировать его, и я хотел бы, чтобы несколько человек попробовали его и убедились, что ничто не проскользнуло сквозь трещины, прежде чем я на самом деле вытолкнул его PyPi. Все тесты проходят очень хорошо, но я только начал его поддерживать, поэтому не уверен, насколько надежный набор тестов. Поэтому попробуйте и сообщите о проблеме, если вы столкнетесь с чем-либо. –

+0

Ах, просто попробовал, и он отлично работает! Спасибо за новую версию Flask-Uploads: D –

1

dict.itervalues() только в python2.x, я думаю, колба-закачка не поддерживает 3.x еще и setup.py также не говорит, что они поддерживают 3.x

+0

Действительно? Я установил его на 'pip', и нет никакой ошибки или предупреждения, также я не нашел его в документе ... Так что, если я не использую python2, запустите скрипт, я не смогу использовать флай-uploads правильно ? –

+0

Устанавливать его успешно не означает, что мы можем его использовать. К сожалению, python3.x не поддерживает 'dict.itervalues ​​()', вы можете попробовать это самостоятельно, я боюсь, что вы не сможете его использовать. Может быть, вы можете подать там какую-либо проблему, подождите, пока автор отправит ее. –

+0

Поймите, спасибо :) –

 Смежные вопросы

  • Нет связанных вопросов^_^