Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:pipenv

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:pipenv [2021/05/22 19:48]
root [Grundlegende/Wichtige Kommandos]
python:pipenv [2023/12/28 18:07] (aktuell)
root
Zeile 23: Zeile 23:
 |<code>--python <Version></code>|Gibt an welche Version des Interpreters für diese virtuelle Umgebung benutzt werden soll| |<code>--python <Version></code>|Gibt an welche Version des Interpreters für diese virtuelle Umgebung benutzt werden soll|
 </WRAP> | </WRAP> |
 +|<code>virtualenv --rm</code>|Löscht eine virtuelle Umgebung aus der Registrie. \\ \\ Pipfile wird nicht gelöscht -> man kann die Umgebung also wieder herstellen - muss ggf. händisch gelöscht werden wenn man es komplett weghaben will|
 +|pipenv install <package>|Installiert ein bestimmtes Softwarepaket, allerdings nur für diese Umgebung. <WRAP>
 +^Option ^Beschreibung ^
 +|<code>-e <URL externe Quelle></code>|Installiert das Paket aus einer externen Quelle statt über PyPi|
 +|<code>Package==Version</code>|Funktioniert (sowie "<" und ">") wie bei pip und definiert das von einem bestimmten Paket eine bestimmte Version installiert werden soll|
 +|<code>--dev</code>|Speichert die Pakete als nur für "Entwicklungsumgebung" benötigt ab. \\ Das macht Sinn für Pakete die nur für die Entwicklungsumgebung benötigt werden, aber nicht für produktiven Code (also zum Beispiel Unittest). \\ \\ Man kann dann die Pakete woanders (andere Maschine) installieren per pipenv install --dev|
 +|<code>pip install --dev</code>|Installiert alle "normalen" Pakete + alle die mit der Option "--dev" installiert wurden. Darüber kann man die notwendigen Pakete laden die für eine "Entwicklungsumgebung" notwendig sind| 
 +</WRAP>|
 +|pipenv check|Prüft die installierten Pakete auf neue? Abhängigkeiten und auf Sicherheitslücken (dazu wird die safety-Library des pyuopio-Projektes benutzt die Sicherheitslücken in vielen Python-Paketen verfolgen) genutzt und spielt entsprechend Updates ein|
 +|pipenv uninstall|Deinstalliert Pakete (in der virtuellen Umgebung). <WRAP>
 +^Option^Beschreibung^
 +|<code>--all</code>|Deinstalliert alle Pakete|
 +|<code>--all-dev</code>|Deinstalliert alle Pakete die mit <code>--dev</code> installiert|
 +</WRAP>|
 +|<code> pipenv --rm </code> | Löscht das virtuelle Environment (gemeint ist die Installation des Interpreters und der Pakete -> für gewöhnlich in ~/.local/share/environments/). \\ \\ Pipfile und Pipfile.lock bleiben erhalten. Dadurch lässt sich einfach durch aufrufen von pipenv und pipenv sync ein neues Environment erstellen | 
 +
 +======= Dateien ======
 +
 +===== Pipfile ======
 +
 +  * ist im Hauptverzeichnis des Projektes zu finden
 +  * enthält
 +      * Liste der Pakete die installiert werden müssen für die Umgebung
 +      * Liste der Pakete die installiert werden müssen um die Umgebung für die Entwicklung zu nutzen (das sind zusätzliche Pakete die nur für die Entwicklung benötigt werden)
 +      * Informationen welche Python-Version benötigt wird
 +  * enthält nur nur die Liste der installierten Pakete, aber nicht ihre Abhängigkeiten (also nicht die Pakete die installiert wurden um deren Abhängigkeiten zu befriedigen)
 +  * kann manuell editiert werden
 +
 +
 +===== Pipfile.lock =====
 +
 +  * Datei für "reproduzierbare Builds"
 +  * entsteht aus Pipfile durch Aufruf von pipenv lock
 +  * enthält den gleichen Inhalt wie Pipfile 
 +      * + die genauen Versionen der installierten Pakete + die genauen Versionen der Abhängigkeiten 
 +      * dadurch lässt sich auf einem anderen System genau die gleiche Umgebung (exakt mit den gleichen Versionen der Pakete) replizieren
 +
 +
 +===== .env =====
 +
 +  * Enthält environment-Variablen
 +  * wird gelesen wenn man pipenv shell ausführt
 +
 +
 +===== Troubleshooting =====
 +
 +^Problem ^Lösung ^
 +|Python-Version ändern |Kann u.a. auch notwendig sein wenn man von einer Maschine auf eine andere portiert. \\ \\ <WRAP>
 +  * Virtuelle Umgebung (die installierten Pakete usw. (die befinden sich in der Regel in ~./local/share/environments) löschen
 +<sxh python>
 +pipenv --rm 
 +</sxh>
 +  * im Pipfile
 +<code>
 +[requires]
 +python_version = "3.10"
 +</code>
 +Auf die gewünschte Python-Version ändern
 +  * Environment neu-installieren
 +<sxh bash>
 +pipenv
 +</sxh>
 +  * Pakete neuinstallieren
 +<sxh>
 +pipenv sync
 +</sxh>
 +</WRAP>|
python/pipenv.1621705687.txt.gz · Zuletzt geändert: 2021/05/22 19:48 von root