没有名为flaskext.uploads的模块

时间:2016-06-10 15:49:20

标签: python flask flask-uploads

我试图在我的烧瓶应用中使用烧瓶上传功能进行图片上传功能。

我使用pip install Flask-Uploads安装pip install Flask-Uploads --upgrade来升级flask-uploads模块。 但是当我导入它时,它会给我一个错误,这是我的导入代码:

from flaskext.uploads import UploadSet, configure_uploads, IMAGES

错误:

File "project.py", line 3, in <module>
from flaskext.uploads import UploadSet, configure_uploads, IMAGES
ImportError: No module named flaskext.uploads

我尝试使用旧版本pip install Flask-Uploads==0.1.3 即便这样也行不通。

我使用的是Windows 10。

2 个答案:

答案 0 :(得分:1)

更新:建议OP进一步深入了解烧瓶与烧瓶上传的更改,其中介绍了此故障排除帮助/文档末尾注明的不兼容性。如果OP友好地问他们,包裹的维护人员甚至可以提供答案吗?如果提供了更多详细信息,我建议将其更新为解决方案,但现在他们似乎错过了......

**回答[暂停] **

我想你错过了一个点。尝试:

from flask.ext.uploads import UploadSet, configure_uploads, IMAGES

而不是:

from flaskext.uploads import UploadSet, configure_uploads, IMAGES

如果仍未找到模块,请检查sys.path并检查是否已安装的模块位于其中一个访问过的位置。像这样:

>> import sys
>>> sys.path
['', '/usr/local/some/python', '/usr/local/lib/python2.7/site-packages']

空是当前工作目录,其余是文件夹路径,如果您知道安装存储模块/usr/local/lib/python2.7/site-packages/flask_uploads.py的位置,我们知道它找到了它。

然后,如果遇到:

>>> import flask_uploads
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/flask_uploads.py", line 24, in <module>
    from flask import current_app, Module, send_from_directory, abort, url_for
ImportError: cannot import name Module

它告诉您,在flask_uploads.py安装包中,您无法从Module导入flask

所以:

>>> import flask
>>> dir(flask)
['Blueprint', 'Config', 'Flask', 'Markup', 'Request', 'Response', 'Session', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', '_app_ctx_stack', '_compat', '_request_ctx_stack', 'abort', 'after_this_request', 'app', 'appcontext_popped', 'appcontext_pushed', 'appcontext_tearing_down', 'before_render_template', 'blueprints', 'cli', 'config', 'copy_current_request_context', 'ctx', 'current_app', 'escape', 'flash', 'g', 'get_flashed_messages', 'get_template_attribute', 'globals', 'got_request_exception', 'has_app_context', 'has_request_context', 'helpers', 'json', 'json_available', 'jsonify', 'make_response', 'message_flashed', 'redirect', 'render_template', 'render_template_string', 'request', 'request_finished', 'request_started', 'request_tearing_down', 'safe_join', 'send_file', 'send_from_directory', 'session', 'sessions', 'signals', 'signals_available', 'stream_with_context', 'template_rendered', 'templating', 'url_for', 'wrappers']

嗯...看起来并不那么有希望,但是当这个导入文件在上传时出现时,某人或某些变更文档会显示出来。

答案 1 :(得分:0)

更新2020:

您应该导入from flask_uploads import Uploadset

自2020年2月以来,Flask-Uploads的PyPi软件包已损坏。

您可以使用嵌入式替换Flask-Reuploaded

https://pypi.org/project/Flask-Reuploaded/