Kann ich Python-Module von PyPi ausschließlich innerhalb eines Skripts herunterladen und installieren, ohne eine Shell zu verwenden? überhaupt?Wie kann ich Python-Module programmgesteuert/über ein Python-Skript installieren?
Ich verwende eine nicht standardmäßige Python-Umgebung, den Python-Interpreter von Autodesk Maya. Dies kommt nicht mit "easy_install" und es gibt keine "Shell", nur einen Python-Skript-Interpreter, der von der ausführbaren Maya-Hauptdatei aufgerufen wird. Das Kopieren und Einfügen des Inhalts von ez_setup.py in das Skript-Editor-Fenster und das korrekte Ausführen von ez_setup.py installiert eine easy_install-Datei irgendwo im Maya-Verzeichnis, aber das Skript registriert den Python-Interpreter fälschlicherweise als "... maya.exe" anstelle von "... mayapy.exe "Außerdem benötigt die Verwendung von easy_install eine Shell.
Ziel ist die Bereitstellung eines Python-Skripts, das z. B. NumPy in das Maya Python-System installiert. Dies kann erreicht werden, indem Eier in das Site-Packages-Verzeichnis fallen gelassen werden, dies erfordert jedoch einen manuellen Benutzereingriff. Alles, was ein Endbenutzer außerhalb der Maya-Umgebung tun muss, ist im Wesentlichen unantastbar, vor allem das Durcheinander mit dem Dateisystem. Aber mit dem Dateisystem durch ein Skript versauen? Das ist gut.
Gibt es etwas eleganteres als ez_setup.py + Bearbeiten der resultierenden easy_install ... py's + Subprozessaufrufe? Ich habe das Gefühl, dass dies ein grundlegendes Merkmal ist. Ich sehe Dokumentation online für die programmatische Modulinstallation über Pip ... aber pip muss zuerst installiert werden!
Was ist der eleganteste Weg, ein Modul streng innerhalb der Grenzen eines Skripts zu installieren?
Wird 'sys.executable' dem Pfad zu' mayapy.exe' vor der Ausführung von 'ez_setup.py' zugewiesen? – icktoofay
Danke: Das behebt 'ez_setup', aber es erfordert zu wissen, wo' mayapy.exe' ist. Mehr Pfad Hacking ... – DoctorPangloss
Wenn Sie nicht easy_Installs Abhängigkeit Auflösung benötigen, einfach 'exec()' -ing die 'setup.py' Datei könnte funktionieren – millimoose