Früher habe ich immer gedankenlos Dinge per Pip global installiert und nie Virtual Environments benutzt. Außerdem kamen manchmal Python-Bibliotheken durch den normalen Paketmanager APT auf den Computer. Denn auf Linux sind ja viele substantielle Programme in Python geschrieben.
Einmal hatte ich ein Erlebnis, als ich Tensorflow per PIP installiert habe. Das hat dazu geführt, dass Numpy downgegradet wurde. Außerdem wollte ich Tensorflow dann wieder runterschmeißen, aber dessen Abhängigkeiten hab ich irgendwie nicht runterbekommen.
Jetzt benutze ich aber seit ein paar Tagen Arch btw. Und jetzt frage ich, was soll ich in Bezug auf Python-Bibliotheken tun?
- Ist es eine gute Idee, Numpy global zu installieren oder soll ich es lieber in ein eigenes Virtual Environment installieren?
- Sollte ich Numpy per PIP installieren oder per Pacman?
- Tensorflow gibt es auch in den Arch-Repos. Ist es überhaupt eine gute Idee das per Pacman zu installieren? Aufgrund des obenstehenden Erlebnisses neige ich eher dazu, es über Pip in ein eigenes Virtual Environment zu installieren.
Wie erspart man sich Ärger?
LG Y.
Pip - wie macht man es richtig?
Hallo Üpsilon,
Nein, ist es nicht. Deine Erfahrungen mit TensorFlow und NumPy belegen dies.
Viele Grüße
Franck
- Ist es eine gute Idee, Numpy global zu installieren
Nein, ist es nicht. Deine Erfahrungen mit TensorFlow und NumPy belegen dies.
Ja, denn das wird von dem NumPy-Projekt empfohlen, siehe https://numpy.org/install/:oder soll ich es lieber in ein eigenes Virtual Environment installieren?
(numpy.org) Best practice is to:
use a different environment per project you’re working on,
record package names and versions using your package installer; each has its own metadata format for this:
- Conda: conda environments and environment.yml
- Pip: virtual environments and requirements.txt
- Poetry: virtual environments and pyproject.toml
So wie ich es verstehe, unterstützt pacman virtuelle Umgebungen nicht. Daher verbleibt dir nur PIP, wenn du deine Auswahl auf die beiden reduzierst.- Sollte ich Numpy per PIP installieren oder per Pacman?
Folge deinen Neigungen, denn du bist nicht der einzige, der Probleme mit der globalen Installation von TensorFlow hatte.Tensorflow gibt es auch in den Arch-Repos. Ist es überhaupt eine gute Idee das per Pacman zu installieren? Aufgrund des obenstehenden Erlebnisses neige ich eher dazu, es über Pip in ein eigenes Virtual Environment zu installieren.
Viele Grüße
Franck
Die beste Lösung ist, das hier in `~/.pip/pip.conf` zu haben:
Mit dem Paketmanager Sachen zu installieren ist IMHO okay, damit macht man sich eher nichts kaputt, kann es wieder deinstallieren, ... Zumindest für Quick-and-dirty-Sachen.
Normalerweise und/oder wenn du eine spezielle Version willst/brauchst, würde ich einfach eine venv empfehlen.
Code: Alles auswählen
[global]
require-virtualenv = true
Normalerweise und/oder wenn du eine spezielle Version willst/brauchst, würde ich einfach eine venv empfehlen.
eigentlich ist die Frage, wie deine App mal installiert werden soll
Dann wird deine App quasi eine "system app"
Ich such auch noch eine möglichkeit, meine python .... tools/apps/scripts ... zu verteilen, ohne es zu ner Install orgie für den potentiellen nutzer werden zu lassen ...
Was nicht einfach ist, wenn keine Ahnung über das System hasst ... in meinem Fall kannst WIndows, WSL, XYZ Linux Distrie sein ...
Für die meisten Nutzer ist dann Python immer noch ne Würgeschlange und Pip klingt nach nem Mode-Getränk
Für entwickler usw ist pip +venv wirklich super, aber für Anwender ?
Macht aber IMHO nur Sinn, wenn deine App über den Packetmanager auch ausgeliefert soll / mussMit dem Paketmanager Sachen zu installieren ist IMHO okay
Dann wird deine App quasi eine "system app"
Ich such auch noch eine möglichkeit, meine python .... tools/apps/scripts ... zu verteilen, ohne es zu ner Install orgie für den potentiellen nutzer werden zu lassen ...
Was nicht einfach ist, wenn keine Ahnung über das System hasst ... in meinem Fall kannst WIndows, WSL, XYZ Linux Distrie sein ...
Für die meisten Nutzer ist dann Python immer noch ne Würgeschlange und Pip klingt nach nem Mode-Getränk
Für entwickler usw ist pip +venv wirklich super, aber für Anwender ?
Es gibt verschiedene Tools, die da "helfen".
Recht häufig benutzt wird die pyinstaller/autp-by-to-exe Kombination, die dein Programm, die Abhängigkeiten und den Interpreter in ein selbstentpackendes Archiv packt. Muss man dann für jedes System einzeln bauen, funktioniert aber in der Anwendung eigentlich ganz gut.
Recht häufig benutzt wird die pyinstaller/autp-by-to-exe Kombination, die dein Programm, die Abhängigkeiten und den Interpreter in ein selbstentpackendes Archiv packt. Muss man dann für jedes System einzeln bauen, funktioniert aber in der Anwendung eigentlich ganz gut.