3

我试图使用烧瓶上传模块,但我在线程中发现:

Flask-上传模块

我应该使用烧瓶重新上传的模块来修复错误:

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 它找不到要导入的正确库

我在文档中没有找到任何关于它的信息,你能帮忙吗?

4

1 回答 1

2

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

您可以Flask-Uploads直接从 GitHub安装,也可以不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。这样做是为了与 100% 兼容Flask-Uploads

当您遇到这样的错误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

说了这么多——我会尽快更新 README 部分Flask-Reuploaded

更新,2021 年 1 月 18 日

我已经更新了自述文件,Flask-Reuploaded提供了如何启动项目的更清晰的信息。

https://github.com/jugmac00/flask-reuploaded/blob/master/README.rst

于 2020-09-29T14:34:37.513 回答