我试图使用flask-uploads模块,但是在线程中找到了
我应该使用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
的任何变体,它将找不到要导入的适当库
我在文档中找不到任何相关内容,您能帮忙吗?
答案 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部分。