'usr/bin/python'と'python'は異なるバージョンを実行します

'usr/bin/python'と'python'は異なるバージョンを実行します

私の OS X では、ターミナルに /usr/bin/python と入力すると Python 2.6.1 が実行されますが、python と入力すると Python 2.7.2 が実行されます。前者でも 2.7.2 を実行したいのですが、どうすればよいですか?

答え1

/usr/bin/python にあるバージョンは、OS X の一部としてインストールされたバージョンです。「which python」と入力すると、新しい python バージョンがどこにあるかがわかります。おそらく、MacPorts などを使用して新しいバージョンをインストールしたのでしょう。

他のアプリで必要な場合に備えて、/usr/bin/python が指す場所を変更するのは危険かもしれません。Python スクリプトを変更して、ユーザーの Python バージョンを見つけるようにするには、最初の行を次のように変更します。

#!/usr/bin/python

に:

#!/bin/env python

本当に /usr/bin/python を置き換えたい場合は、次のようにします。

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

しかし、前述したように、これは危険かもしれません。後でこの変更を元に戻す必要がある場合は、次のコマンドを実行できます。

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

ただし、これらを慎重に実行してください。OS X でシステムにインストールされた Python バージョンを誤って削除した場合、元に戻すのに多少の手間がかかります。

答え2

これは/usr/bin/pythonApple が提供したファイルのようです。他の人が言っているように、触らないでください。

ファイル自体は (参考 1) を指しているようです。

/Library/Frameworks/Python.framework/Versions

このフォルダーには、Current/ という名前のシンボリック リンク フォルダーを含む最新のインストール済み 2.x または 3.x バージョンが見つかります。Current/ は最新のインストール済みバージョンを指します。

これまでにインストールしたすべての Python バージョンは (参照 2) に配置されていることに注意してください。

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

私の場合、「参照 1」から 2.5 フォルダを削除し、「参照 2」から 2.7 をアップロードする必要がありました。次に、「現在の」リンクを削除し、2.7/ フォルダを指す新しいリンクを作成しました (ln -s 2.7/ Current)。[よくわかりませんが、他のフォルダでも同じことが必要になる可能性があります]

さて、入力するとpython --バージョン作成した最新の Current/ リンクを指す Python バージョンが表示されます。私の場合はバージョン 2.7 でした。

これが役に立つことを願っています。ここではうまくいきました。

関連情報