'usr/bin/python' und 'python' führen unterschiedliche Versionen aus

'usr/bin/python' und 'python' führen unterschiedliche Versionen aus

Wenn ich unter OS X /usr/bin/python in das Terminal eintippe, wird Python 2.6.1 ausgeführt, wenn ich aber python eintippe, wird Python 2.7.2 ausgeführt. Ich möchte, dass ersteres auch 2.7.2 ausführt – wie mache ich das?

Antwort1

Die Version in /usr/bin/python ist die Version, die als Teil von OS X installiert wurde. Geben Sie „which python“ ein, um herauszufinden, wo sich Ihre neuere Python-Version befindet. Sie haben wahrscheinlich eine neuere Version über MacPorts oder Ähnliches installiert.

Es kann gefährlich sein, den Verweis von /usr/bin/python zu ändern, falls dieser von anderen Anwendungen benötigt wird. Sie können Ihre Python-Skripte so ändern, dass sie die Python-Version des Benutzers finden, indem Sie die erste Zeile wie folgt ändern:

#!/usr/bin/python

Zu:

#!/bin/env python

Wenn Sie /usr/bin/python wirklich ersetzen möchten, können Sie dies folgendermaßen tun:

sudo mv /usr/bin/python /usr/bin/python.dist
sudo ln -s `which python` /usr/bin/python

Wie gesagt, das kann jedoch gefährlich sein. Wenn Sie diese Änderung später rückgängig machen müssen, können Sie Folgendes ausführen:

sudo rm /usr/bin/python
sudo mv /usr/bin/python.dist /usr/bin/python

Bitte führen Sie diese jedoch mit Vorsicht aus. Wenn Sie versehentlich die auf Ihrem System installierte Python-Version unter OS X entfernen, wird es einige Mühe kosten, sie wiederherzustellen.

Antwort2

Es scheint, dass es /usr/bin/pythonsich um die von Apple bereitgestellte Datei handelt. Wie andere bereits erwähnt haben, berühren Sie sie nicht.

Die Datei selbst scheint auf (Referenz 1) zu verweisen:

/Library/Frameworks/Python.framework/Versions

In diesem Ordner sollten Sie die zuletzt installierten 2.x- oder 3.x-Versionen mit einem symbolischen Linkordner namens „Current/“ finden können, wobei „Current/“ auf die zuletzt installierte Version verweist.

Beachten Sie, dass alle Python-Versionen, die Sie jemals installiert haben, hier abgelegt sind (Referenz 2):

/System/Library/Frameworks/Python.framework/Versions

In meinem Fall musste ich den Ordner 2.5 aus „Referenz 1“ entfernen und 2.7 aus „Referenz 2“ hochladen. Dann habe ich den Link „Aktuell“ entfernt und einen neuen erstellt, der auf den Ordner 2.7/ verweist (ln -s 2.7/Aktuell). [Ich bin nicht sicher, ob das Gleiche für den anderen Ordner erforderlich sein könnte]

Wenn Sie nun tippenpython --versionSie sollten die Python-Version sehen, die auf den neuesten Current/-Link verweist, den Sie erstellt haben. In meinem Fall war es Version 2.7.

Ich hoffe, das hat geholfen, hier hat es funktioniert.

verwandte Informationen