2016-11-30 1 views
0

Ich würde python setup.py install verwenden, um Spyder zu /AppDir/usr zu installieren (d. H. Das ist die --prefix, die ich zu python setup.py install angeben) und ich möchte diese Installation von Spyder funktionieren, selbst wenn ich das Verzeichnis /AppDir verschiebe. Dies ist derzeit nicht der Fall ist, wie wenn ich cd in die bewegten /AppDir/usr/bin (die bei /AppDir/usr/bin nicht mehr ist, sondern bei ~/GitHub/mine/packaging/AppImages/recipes/spyder/AppDir/usr/bin, wie ich es bewegt wird) und führen Sie ./spyder aus es mir den Fehler:Wie bekommt man python setup.py install um relative Pfade zu verwenden wenn man auf die Python Installation verweist?

zsh: ./spyder: bad interpreter: /AppDir/usr/bin/python: no such file or directory

Um diese Installation von Spyder tragbar zu machen, glaube ich, dass ich die installierten Dateien von Spyder in /AppDir/usr auf relative Dateipfade anstelle von absoluten Dateipfaden aufrufen muss (statt also den Interpreter /AppDir/usr/bin/python aufzurufen, würde er sagen ./python). Gibt es eine Möglichkeit, dies zu tun?

BEARBEITEN: Ich plane ein AppImage (ein Cross-Distribution-Paket-Format) von diesem AppDir erstellen so symbolische Links werden nicht funktionieren! Da dieses AppImage von anderen gedownloadet und von anderen lokalen Lösungen verwendet werden soll (z. B. indem es mein lokales System wie meine ~/.zshrc-Datei ändert), funktioniert es nicht!

+0

Warum installieren Sie nicht mit Pip? Pip installieren Spyder? – MYGz

+0

Gibt diesen Fehler https://github.com/probonopd/AppImages/issues/149#issuecomment-263770455. – BH2017

Antwort

0

Der Fehler, den Sie erhalten, ergibt sich aus der shebang in ./spyder. Shebangs must use absolute paths, es kann also nicht automatisch geändert werden, wenn Sie den Ordner mit dem Interpreter verschieben. Tatsächlich besteht die Idee hinter der Filesystem Hierarchy Standard darin, dass logische Dateispeicherorte unabhängig von ihrer physischen Position gleich bleiben und vorhersehbar bleiben (speziell für Python haben z. B. .pyc Dateien absolute Pfade, sodass sie möglicherweise neu generiert werden müssen, sobald die Installation abgeschlossen ist) gerührt).

Der einfachste Ausweg ist die manuelle Suche & Ersetzen Sie Shebangs in allen Skripts, die diese bestimmte Python-Installation verwenden. Siehe z.B. linux - How/Is it possible to install python in a portable way? - Unix & Linux Stack Exchange und Creating a Portable Python (local install) for Linux für andere Optionen.

Verwandte Themen