it-swarm.com.de

/ usr/local/bin/python3: falscher Interpreter: Keine solche Datei oder Verzeichnis für Ubuntu 14.04

Hallo Meine Python-Installation befindet sich in einem anderen Verzeichnis und ich verwende ein Docker-Image, das Mac-basiert ist und die Shebang-Zeile als/user/local/bin/python3 aus einem anderen Ordner im Shell-Skript referenziert.

mein Python-Installationspfad

Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/myuser/project', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
>>> 

gibt es eine Möglichkeit, ohne die Shebang-Linie zu ändern, kann ich meine Installation von python3 umleiten oder eine Verknüpfung herstellen, um diesen Fehler zu beheben. 

ist es empfehlenswert, python3 im angegebenen Pfad zu installieren. ?

bitte beraten 

7
Karn_way

Wenn Sie den Shebang der Datei nicht ändern können und Zugriff auf die Dockerfile haben, mit der Ihr Docker-Image erstellt wird, können Sie eine Befehlsanweisung hinzufügen, um einen symbolischen Link zu erstellen: ln -s /usr/bin/python3 /usr/local/bin/. Wenn Sie keinen Zugriff haben die Dockerfile. Dann können Sie den obigen Befehl in der laufenden Docker-Instanz ausführen. Das sollte Ihr Problem lösen, ohne die Datei ändern zu müssen.

https://docs.docker.com/engine/reference/builder/#cmd

1
xmonk

Sie können Shebang wie üblich auf "/ usr/bin/env python" setzen und dann den Pfad entsprechend festlegen, so dass sich die richtige Version von Python in Ihrem Pfad befindet. In der Bash können Sie den Pfad in der Kommandozeile einstellen:

PATH=python/path:$PATH app

Ich werde manchmal den Shebang ignorieren und python/path/python $(which app) eingeben, um zu steuern, welcher Python-Interpreter ausgeführt wird.

0
Neapolitan