Umgebungsvariablen für die richtige Version von Python oder PHP setzen? Oder für andere ausführbare Programme? Ganz einfach.
In diesem Beitrag geht es um das Terminal von Deinem Mac. Ein Freund wollte auf seinem Mac gerne Python lernen. Also schaute er erst einmal, ob Python auf seinem Mac installiert ist. Dafür öffnete er ein Terminal. Du findest das unter “Applications/Utilities” oder in der deutschen Version unter “Anwendungen/Werkzeuge”. Du kannst auch einfach in das Suchfeld von Deinem Mac “Terminal” eingeben.
Dort gab er dann python
ein und freute sich. Denn der Python Interpreter meldete sich. Allerdings währte die Freude nicht lange. Denn es stellte sich heraus, dass sich auf seinem Mac eine recht alte Version befand. Das ist nicht wirklich verwunderlich. Auf meinem Mac gibt der Aufruf python --version
2.7.16 zurück. Eine alte Version, mit der neuere Codebeispiele sicher nicht laufen. Also installierte er eine neuere Version. Sein Problem danach? Du ahnst es? Er verwechselte immer die Versionen. Denn mit dem Aufruf python
rief er grundsätzlich die alte Python-Instalation auf. Und python3
einzugeben, vergass er ständig. “Muss man damit leben?”, fragte er mich. Nein, das muss man nicht.
MacOS ist seit 2000 ein Unix-Betriebssystem. Das bedeutet, dass es in vieler Hinsicht Linux sehr ähnlich ist. Gerade auch was das Terminal, die Bash, betrifft. Also war die Sache ganz einfach zu lösen. Im eigenen Homeverzeichnis schaust Du nach einer versteckten Datei mit der Bezeichnung “.bash_profile”. Ist sie nicht da, kannst Du sie mit Deinem Editor anlegen. Ich nutze dafür vim. Der Aufruf im Terminal sieht dann folgend aus:
vim ~/.bash_profile
Ist die Datei vorhanden, wird sie im Terminal angezeigt. Ist sie nicht vorhanden, wird sie angelegt und eine leere Datei geöffnet. In dieser Datei passen wir jetzt unsere Umgebungsvariable $PATH an. Sie ist dafür verantwortlich, wo nach ausführbaren Dateien gesucht wird. Hast Du python3 installiert, wirst Du darin bereits eine Anweisung finden, die den Pfad anpasst. Sie sieht dann etwa so aus:
PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
export PATH
Nur durch diese Anweisung kannst Du den neu installierten Python Interpreter durch python3 aufrufen. Einen Pfad musst Du also nicht mehr setzen. Du musst eigentlich nur noch mitteilen, dass Du statt python3
, python
eingeben willst. Das ist ganz einfach über ein Alias einzurichten. Füge also nach der ersten Zeile folgendes Alias ein:
alias python="python3"
Falls Du Dich das erste mal mit dem Editor vim versuchst, wirst Du Dich wundern, dass Du nicht einfach etwas hineinschreiben kannst. Bei diesem Editor musst Du erst in den “insert mode” wechseln. Das geht beispielsweise indem Du einfach die Taste “i” drückst. Anschliessend kannst Du loslegen und schreiben, wie Du es gewohnt bist.
Hast Du die Zeile eingefügt, speicherst Du die Datei. Unter vim geht das mit der Tastenfolge “ESC :wq”. Also mit ESC in den Escape-Mode wechseln, write and quit.
Danach rufst Du source ~/.bash_profile
auf und prüfst die python Version mit python --version
.
Umgebungsvariablen wirst Du sicher öfter setzen wollen, sobald Du mit dem Terminal arbeitest. Mir fällt da beispielsweise MAMP ein. Ein Paket aus Webserver, Datenbankserver und PHP. Problem, die gewünschte PHP Version wird nicht genutzt. So wird es in der Regel nach der Installation von MAMP vorteilhaft sein, den Pfad zur gewünschten PHP-Version zu setzen.
Dafür öffnest Du wieder die .bash_profile und erweiterst einfach den Pfad. Der Aufruf sieht dann in etwa folgend aus:
export PATH=/Applications/MAMP/bin/php/php7.4.12/bin:$PATH
Vergiss nicht, den Pfad in dem Anruf an den Pfad zu Deiner PHP-Version anzupassen.
Jetzt, wo Du weisst, dass Du den Pfad wie in einem Linux-OS setzen kannst, wirst Du sicher jede Menge eigene Pfade setzen. Es dürfte Dir nach der Lektüre dieser kurzen Einführung nicht schwer fallen.
Einen kleinen Unterschied zu den meisten Linux-Distributionen gibt es jedoch. Bei ihnen wird die .bash_profile nur in einer Login-Shell ausgeführt. Beim Aufruf einer Shell über X, bleibt sie unberührt. In der Regel wird daher die Pfaderweiterung in die .bashrc geschrieben. Die .bash_profile inkludiert die .bashrc, jedoch nicht vice versa.
Schreibe einen Kommentar