-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
I'm running Graphite Web within a Docker Container. For this I have build my own Docker image. All related files can be found here: https://github.com/it-novum/graphing-docker/tree/master/graphite-web
Unfortunately I'm unable to run the latest version Graphite Web 1.1.10. Depending on what I try, i get different error messages, so I'm sorry upfront for the long issue text :)
First things first. Everything is working fine as long as I go with Python 3.8 and Graphite Web 1.1.6.
So this works without any issues:
- Graphite Web: 1.1.6
- Alpine Linux: 3.13
- Python: 3.8.15
- whitenoise 3.3.1
- django 2.2.28
In the next step I tried to install Graphite Web 1.1.10. This fails due to a wrong WhiteNoise configuration:
- Graphite Web: 1.1.10
- Alpine Linux: 3.13
- Python: 3.8.15
- whitenoise 4.1.4 (as requirements.txt wants it)
- django 3.0.14
Your WhiteNoise configuration is incompatible with WhiteNoise v4.0
This can be fixed by following the upgrade instructions at:
http://whitenoise.evans.io/en/stable/changelog.html#v4-0
Due to i did not want to use an old Alpine Linux anyway, i decided to check what happens with the latest version. This is where the fun starts.
- Graphite Web: 1.1.10
- Alpine Linux: 3.17 (latest)
- Python: 3.10.8
- whitenoise 4.1.4
- django 3.0.14
If I run the install using Python 3.10 (and ignoring all deprecation warnings pip3 prints) , I get the exact same error as with Python 3.8:
Your WhiteNoise configuration is incompatible with WhiteNoise v4.0
This can be fixed by following the upgrade instructions at:
http://whitenoise.evans.io/en/stable/changelog.html#v4-0
If i add the --use-pep517 option to the pip3 install command to resolve warinigs like this
DEPRECATION: whitenoise is being installed using the legacy 'setup.py install' method, because the '--no-binary' option was enabled for it and this currently disables local wheel building for projects that don't have a 'pyproject.toml' file. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/11451
I end up with this error message ModuleNotFoundError: No module named 'graphite.settings' and most of the Graphite related files are missing:
/ # ls -la /opt/graphite/
total 0
drwxr-xr-x 1 root root 29 Dec 8 14:03 .
drwxr-xr-x 1 root root 22 Dec 8 14:02 ..
drwxr-xr-x 1 root root 25 Dec 8 14:03 conf
drwxr-xr-x 3 root root 21 Dec 8 14:03 lib
drwxr-xr-x 1 root root 22 Dec 8 14:02 webapp
For comparison the working installation using Graphite 1.1.6 and Python 3.8
/ # ls -la /opt/graphite/
total 4
drwxr-xr-x 1 root root 20 Dec 8 11:55 .
drwxr-xr-x 1 root root 22 Dec 8 11:55 ..
drwxr-xr-x 2 root root 4096 Dec 8 11:55 bin
drwxr-xr-x 1 root root 21 Dec 8 11:55 conf
drwxr-xr-x 3 root root 80 Dec 8 11:55 examples
drwxr-xr-x 5 root root 70 Dec 8 11:55 lib
drwxr-xr-x 7 root root 69 Dec 8 11:55 storage
drwxr-xr-x 1 root root 22 Dec 8 11:55 webapp