fame
fame copied to clipboard
Build fail due to Flask-Login dependency
Description
Hello
the build fails since yesterday because Flask-login uses a deprecated and now removed function from Werkzeug.security package.
This is due to the latest Werkzeug package upgrade see: https://github.com/maxcountryman/flask-login/issues/636
Steps to Reproduce
Build FAME using the installation script.
Actual behavior
[ ok ] Starting Docker: docker.
[+] Creating virtualenv...
[+] Installing requirements ...
[?] MongoDB host [localhost]:
[?] MongoDB port [27017]:
[?] MongoDB database [fame]:
Choose your installation type:
- 1: Web server + local worker
- 2: Remote worker
[?] Installation type [1]:
[?] FAME's URL for users (e.g. https://fame.yourdomain/): http://localhost
[+] Creating configuration file ...
[+] Generating SSH key ...
[+] Creating initial data ...
Traceback (most recent call last):
File "utils/install.py", line 224, in <module>
main()
File "utils/install.py", line 218, in main
perform_local_installation(context)
File "utils/install.py", line 148, in perform_local_installation
create_admin_user()
File "utils/install.py", line 104, in create_admin_user
from utils.create_user import create_user
File "/opt/fame/utils/create_user.py", line 9, in <module>
from web.auth.user_password.user_management import create_user as do_create_user
File "/opt/fame/web/auth/user_password/user_management.py", line 3, in <module>
from flask_login import login_user
File "/opt/fame/env/lib/python3.7/site-packages/flask_login/__init__.py", line 16, in <module>
from .login_manager import LoginManager
File "/opt/fame/env/lib/python3.7/site-packages/flask_login/login_manager.py", line 24, in <module>
from .utils import (login_url as make_login_url, _create_identifier,
File "/opt/fame/env/lib/python3.7/site-packages/flask_login/utils.py", line 13, in <module>
from werkzeug.security import safe_str_cmp
ImportError: cannot import name 'safe_str_cmp' from 'werkzeug.security' (/opt/fame/env/lib/python3.7/site-packages/werkzeug/security.py)
Solution
If the maintainer from Flask Login don't update quickly, we can fix that problem by adding temporarily the following line in the requirements.txt file
Werkzeug==2.0.0
Hi,
This issue should be fixed now. Could you confirm?