Skip to content

PEP 668 / extern verwaltete Python-Umgebung – Vorschlag: Umstellung auf venv für mysql-connector-python #144

@KoenigMjr

Description

@KoenigMjr

Hallo zusammen,


Mein Setting: Raspberry Pi mit Rasbian OS Lite 13 Trixie (auf Debian), läuft auf einem Raspberry Pi 3B+.


Problemstellung:

Ich wollte mir gerade eine mariaDB einrichten und mittels dem Plugin "mysql" die Daten rüber schubsen.
Bei der Installation der Abhängigkeit mysql-connector-python mittels pip3 install mysql-connector-python kam folgender Fehler:

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

im Issue #121 konnte zwar mittels sudo pip3 install mysql-connector-python==8.0.23 --break-system-packages eine Installation erzwungen werden, soweit ich jedoch im Internet recherchieren konnte und das richtig verstanden habe, umgeht man damit ein Sicherheitsfeature vom OS und ich denke nicht, dass das der zukünftige Weg für alle Installationen sein sollte.

Vorschlag:

Nach weiterer Recherche (und ja auch in der Fehlermeldung schon hingewiesen) ist wohl der beste Weg um eine saubere, updatefeste und distributionskonforme Lösung zu erzielen der, eine virtuelle Python3 Umgebung zu erschaffen.

Umsetzung:

Soweit ich das Verstanden habe, würde die Umstellung relativ einfach vonstatten gehen.
Was ich derzeit am Schirm habe sind folgende Punkte:

siehe Sub Issues

Frage / Bitte um Entscheidung

Bevor ich größere Änderungen im Installer vornehme: Ist das gewünscht?
Oder gibt es einen schöneren Weg, den ich vor lauter einlesen übersehen habe?

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions