如何导入烧瓶重新上传的模块

时间:2020-09-26 10:12:00

标签: python flask flask-uploads

我试图使用flask-uploads模块,但是在线程中找到了

Flask-Uploads Module

我应该使用flask-reuploaded模块来修复错误:

import name 'secure_filename' from 'werkzeug' (c:\users\gabri\desktop\shop\venv\lib\site-packages\werkzeug\__init__.py)

它在线程中说我不必更改代码行,但是我不知道如何正确导入模块,因为当我尝试

from flask_uploads import UploadSet 我得到

No module named 'flask_uploads'

如果我尝试使用from flask-reuploaded import UploadSet 的任何变体,它将找不到要导入的适当库

我在文档中找不到任何相关内容,您能帮忙吗?

1 个答案:

答案 0 :(得分:1)

自2020年2月Flask-Uploads更改API以来,PyPi上Werkzeug的软件包已损坏,因此,您看到的错误消息。

您可以直接从GitHub安装Flask-Uploads,也可以代替Flask-Uploads安装Flask-Reuploaded,后者是兼容的嵌入式替代程序。

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

截至2020年10月5日,Flask-Reuploaded的自述页上没有“入门”指南,这是正确的。

https://flask-reuploaded.readthedocs.io/en/latest/中所述,并且您已经尝试过,只需安装Flask-Reuploaded,然后例如做from flask_uploads import Uploadset

请注意,它是from flask_uploads...而不是from flask_reuploaded。这样做是为了与Flask-Uploads 100%兼容。

当您遇到类似No module named 'flask_uploads'的错误时,这强烈表示两个可能的问题之一:

  • 您没有安装Flask-Reuploaded
  • 您安装了它,但没有与Flask
  • 处于同一虚拟环境

请确保将两个软件包都安装到同一virtual environment中。

要证明这一点...对我来说,要做一个pip freeze-如下所示...

~/Projects/example_flask_reuploaded took 10s 
❯ pip freeze
click==7.1.2
Flask==1.1.2
Flask-Reuploaded==0.3.2
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
Werkzeug==1.0.1

话虽如此-我将尽快更新Flask-Reuploaded的README部分。