fame icon indicating copy to clipboard operation
fame copied to clipboard

Build fail due to Flask-Login dependency

Open Heat-Miser opened this issue 4 years ago • 1 comments

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

Heat-Miser avatar Mar 29 '22 15:03 Heat-Miser

Hi,

This issue should be fixed now. Could you confirm?

Augustin-FL avatar Aug 11 '22 11:08 Augustin-FL