marcus67 / little_brother

Parental Control Application implemented in Python 3 packaged for Debian and Ubuntu to monitor and limit kids' play time on Linux hosts
GNU General Public License v3.0
59 stars 9 forks source link

Is it missing lib or else : cannot import name 'url_decode' from 'werkzeug.urls' ? #183

Closed vaidls closed 1 year ago

vaidls commented 1 year ago

Hello,

cannot figure out hoz to get arround it, unable to install newest Little-brother on Debian/Bookworm. . spal. 02 19:26:51 teodoras run_little_brother.py[3691]: File "/var/lib/little-brother/virtualenv/lib/python3.11/site-packages/flask_login/utils.py", line 14, in spal. 02 19:26:51 teodoras run_little_brother.py[3691]: from werkzeug.urls import url_decode

spal. 02 19:26:51 teodoras run_little_brother.py[3691]: ImportError: cannot import name 'url_decode' from 'werkzeug.urls' (/var/lib/little-brother/virtualenv/lib/python3.11/site-packages/wer>

spal. 02 19:26:51 teodoras systemd[1]: little-brother.service: Control process exited, code=exited, status=1/FAILURE lines 1265-1315/1366 97% . Can someone propose quick fix? .

marcus67 commented 1 year ago

This is an issue with the latest version 3.0.0 of the PIP package werkzeug. The previous version 2.3.7 still works. I will soon release a new version fixing werkzeug to that particular version.

Meanwhile a quick fix:

Please, let me know of this works. Thanks!

vaidls commented 1 year ago

Cool.

Looks like simple solution for python expert.

Thanks


M. Vaidotas DILYS France


Le mar. 3 oct. 2023, 19:07, marcus67 @.***> a écrit :

This is an issue with the latest version 3.0.0 of the PIP package werkzeug. The previous version 2.3.7 still works. I will soon release a new version fixing werkzeug to that particular version.

Meanwhile a quick fix:

  • open a root shell
  • su - little-brother
  • /var/lib/little-brother/virtualenv/bin/pip install werkzeug==2.3.7
  • leave su with e.g. CTRL-D
  • systemctl restart little-brother

Please, let me know of this works. Thanks!

— Reply to this email directly, view it on GitHub https://github.com/marcus67/little_brother/issues/183#issuecomment-1745388518, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVS65Z44KARWJULXFGT4XE3X5RA4BAVCNFSM6AAAAAA5PYH4E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBVGM4DQNJRHA . You are receiving this because you authored the thread.Message ID: @.***>

3eggert commented 1 year ago

Hi, for me it does not work. I installed it on Ubuntu 20.04.6 LTS:

sudo dpkg -i little-brother_0.4.30_137.deb

Than I got the error: Okt 06 12:16:18 bonb run_little_brother.py[28057]: ImportError: cannot import name 'url_decode' from 'werkzeug.urls' (/var/lib/little-brother/virtualenv/lib/python3.8/site-packages/werkzeug/urls.py)

Than I tried the fix:

root@bonb:~# su - little-brother
su: warning: cannot change directory to /home/little-brother: No such file or directory
$ /var/lib/little-brother/virtualenv/bin/pip install werkzeug==2.3.7
WARNING: The directory '/home/little-brother/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f40d2665a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/werkzeug/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f40d29ffbb0>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/werkzeug/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f40d29ffdc0>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/werkzeug/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f40d29ffa90>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/werkzeug/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f40d29ffa00>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/werkzeug/
ERROR: Could not find a version that satisfies the requirement werkzeug==2.3.7 (from versions: none)
ERROR: No matching distribution found for werkzeug==2.3.7

As you see pip install does abort...

marcus67 commented 1 year ago

I (hopefully) fixed this issue by explicitly setting the minor release versions of all packages, in particular werkzeug to version 2.3.*.

marcus67 commented 1 year ago

The fix is available at https://sourceforge.net/projects/little-brother/files/master/.