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
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.
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.