-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Issue Liste für Python 3.12 anstatt Python 3.10 (unter Ubuntu 24.04):
-
Pip wird gebraucht (stand oben schon) als Vorbedingung,
-
Der Befehl python ist standardmäßig nicht belegt, nur "python3". Das macht ein Problem mit dieser Zeile im Makefile PYTHON_INTERPRETER = python
Die Skripte test_environment.py oder der Precheck im Makefile testen nur auf Python Version>=3.10. Bei 3.12 sagen sie also "OK". An sich müssten sie aber auf Python Version==3.10 testen, wenn der Rest (Installation der in Requirements.txt spezifizierten Paket-Versionen mittels pip in make requirements) dann unproblematisch durchlaufen soll. Dann müsste Python 3.10 (also eine genaue Python-Version) explizit in das virtual environment mit aufgenommen werden.
"make create_environment" schlägt fehl unter 3.12
$(PYTHON_INTERPRETER) -m pip install virtualenv
==> schlägt fehl. Und diese Zeile sieht auch unnötig aus.
# "venv" is already part of Python Standard Library since Pyton 3.3
# since Python 3.10 is minimum requirement anyways, no need to install virtualenv
# Results in error message: "environment externally managed" and "see PEP 668"
# https://packaging.python.org/en/latest/specifications/externally-managed-environments/#externally-managed-environments
Python will dann einen zusätzlichen Command Line switch, dass es das Paket "virtualenv" selbst wirklich in die zentrale Python-Installation installieren soll anstatt in ein virtual environment. So wollen sie motivieren, dass wirklich alle Pakete in virtual environments installiert werden. selbst virtualenv selbst, damit die Systeminstallation möglichst zentral gemanaget bleibt durch externe Werkzeuge der Softwareverteilung.
"make requirements" schlägt bei numba und numpy fehl, weil die explizit genannten Paket-Versionen von numba und numpy nicht mehr mit Python 3.12 zusammenspielen können. Abhilfe:
numba==0.59.0 # was numba==0.57.0, changed for support of Python 3.12
numpy==1.26.4 # was numpy==1.23.5, changed for support of Python 3.12
Dies sind jeweils die ersten Versionen, die explizit mit Python 3.12 kompatibel gekennzeichnet sind.