Development/Flask with Python
[Solved][Flask1.1][Werkzeug1.0.0] ImportError: cannot import name 'secure_filename' from 'werkzeug'
Best Junior
2020. 3. 12. 13:12
[ 문제 상황 예시 ]
Traceback (most recent call last):
File "/pyenv_lab/runserver.py", line 1, in <module>
from app001 import app
File "/pyenv_lab/app001/__init__.py", line 7, in <module>
from app001 import routes
File "/pyenv_lab/app001/routes.py", line 5, in <module>
from werkzeug import secure_filename
ImportError: cannot import name 'secure_filename' from 'werkzeug' (/root/.pyenv/versions/3.7.5/lib/python3.7/site-packages/werkzeug/__init__.py)
[ 문제 원인 ]
Werkzeug 모듈 0.16.0 버전에서는
from werkzeug import secure_filename
를 통해 secure_filename을 사용할 수 있었으나
Werkzeug 모듈 1.0.0 버전에서는
from werkzeug.utils import secure_filename
를 통해 secure_filename을 사용할 수 있습니다.
- 영문 -
- 한글 -
출처 : https://werkzeug.palletsprojects.com/en/1.0.x/utils/
[ 해결 방법 ]
from werkzeug import secure_filename
기존에 위와 같은 문구를 아래와 같이 변경해줍니다.
from werkzeug.utils import secure_filename
변경 후 Falsk Server 가동시 에러 없이 정상적으로 실행됨을 확인할 수 있습니다.