我试图从werkzeug.utils导入secure_文件名,但它出现了一个错误。它在我的基础虚拟环境下运行良好
代码:
# Flask packages
from flask import Flask, render_template, request, session, redirect, flash, send_file
from flask_bootstrap import Bootstrap
from flask_uploads import UploadSet,configure_uploads,IMAGES,DATA,ALL
# Systems
import os
import sys
import json
from werkzeug.utils import secure_filename
错误:
(absa_annotation) C02QM3FSFVH3:ABSA-annotation-tool kwunkeilau$ python3 app.py
Traceback (most recent call last):
File "app.py", line 4, in <module>
from flask_uploads import UploadSet,configure_uploads,IMAGES,DATA,ALL
File "/Users/kwunkeilau/anaconda3/envs/absa_annotation/lib/python3.7/site-packages/flask_uploads.py", line 26, in <module>
from werkzeug import secure_filename, FileStorage
ImportError: cannot import name 'secure_filename' from 'werkzeug' (/Users/kwunkeilau/anaconda3/envs/absa_annotation/lib/python3.7/site-packages/werkzeug/__init__.py)
除了上述建议的解决方案之外,您还可以使用维护良好的fork
Flask-Reuploaded
您甚至不必更改import语句,因为它试图与不再维护良好的
Flask-Uploads
保持兼容见https://github.com/jugmac00/flask-reuploaded
另外,
Flask-Reuploaded
当然在PyPI上提供了最新的包:https://pypi.org/project/Flask-Reuploaded/
该异常看起来像是
Flask-Uploads
正在尝试from werkzeug import secure_filename
,根据您自己的代码,它应该是from werkzeug.utils import secure_filename
从
Flask-Uploads
github回购来看,这似乎是fixed 12 months ago我会在您的虚拟环境中尝试
pip install -U flask-uploads
,以确保最新版本编辑:
正如@mattficke所指出的,PyPi版本已经过时,回购协议也没有更新版本。事实证明,您可以直接基于提交散列进行安装,因此最新(在撰写本文时):
或者在
requirements.txt
中:然后
pip install -r requirements.txt
这是一个奇迹:
相关问题 更多 >
编程相关推荐