Ich suche jetzt schon eine ganze Weile im Internet nach einer Antwort, aber das bereitet mir wirklich Kopfzerbrechen:
Ich verwende Ubuntu 12.04 und ich möchte ein Python-Skript aus dem Terminal ausführen, ohne den vollständigen Pfad zu verwenden. Also habe ich /home/kyril/python/scripts/ zur PATH-Variable hinzugefügt, indem ich das Folgende in ./bashrc einfügte:
kyrilpathvariable="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kyril/Python/scripts/:/home/kyril/Bash/scripts"
if [ "$kyrilpathvariable" = "$PATH" ]; then
echo PATH already exported
else
PATH=$PATH:/home/kyril/Python/scripts/
PATH=$PATH:/home/kyril/Bash/scripts/
export PATH
fi
(Ich weiß, dass die if-Klausel nicht notwendig ist, aber ich mochte es nicht, alles zweimal in meinem PATH zu haben, wenn ich exec bash eingebe).
Nun das Problem: Dies funktioniert perfekt für meine Bash-Skripte, so dass ich, nachdem ich sie mit chmod ausführbar gemacht habe, einfach eingeben kann $ script.sh
und es wird ausgeführt. Wenn ich jedoch $ python3 script.py
wird der folgende Fehler ausgelöst: python3: can't open file 'script.py': [Errno 2] No such file or directory
Wenn ich den vollständigen Pfad zum Skript eingebe, funktioniert es. Hat irgendjemand eine Idee, was ich falsch mache? Muss ich das Verzeichnis zum PYTHONPATH hinzufügen? (So wie ich das verstanden habe, hilft das nur beim Importieren von Modulen).
Danke, Leute!