Mac OS XでPythonを適切にアップデートするにはどうすればいいですか

Mac OS XでPythonを適切にアップデートするにはどうすればいいですか

Python の Web サイトから Python をダウンロードし、インストーラーを使用してインストールしようとすると、インストールは行われますが、ターミナルからプログラムを実行するときに、新しいバージョンの Python が必要であることを指定する必要があります。次のように入力するだけです。

python app.py

古いバージョンでも動作します。

新しいバージョンをデフォルトとして設定するにはどうすればよいですか?

答え1

ようやくやり方が分かりました。インストーラーは /Application に python 2.6 フォルダーを作成しました。このフォルダーには Update Shell Profile.command というスクリプトがあり、それを実行するだけで動作するようになりました。

答え2

2つの質問:

  1. 新しい Python はどこにインストールされましたか?
  2. $PATH はどのようになっていますか?

Unix系システムのデフォルトの設定では、ユーザーがインストールしたソフトウェアは/usr/local/binにインストールされ、ほとんどの*nixディストリビューションではそのディレクトリが前にデフォルトの $PATH 変数内のシステム全体のディレクトリ (シェルがプログラムを検索する場所を認識する方法)。こうすることで、何か新しいものをインストールすると、新しいアイテムが最初に見つかります。

ただし、デフォルトの OS X $PATH は次のようになります。

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

問題は、ローカル遅くともシステム全体のPython(ディレクトリそして、$PATH の前の部分がヒットし続けます。

私の答えは、Mac で $PATH を次のようにすることです。

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

そのためには、ファイルを作成する。プロフィールホームディレクトリに次のような内容を追加します。

#### Let's take care of our $PATH
# A backup of the original $PATH
# /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

# My preferred order - /usr/local goes first, damn it!
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

編集: コメントするには長すぎるので、コメントではなくここでフォローアップします。。プロフィール/sw/bin/init.shパッケージマネージャーから取得フィンク、これはあなたが使っている(または使ったことがある)と仮定しています。他の行は、あなたがMacPythonをインストールした時に、$PATHあなたのために書き換えられたことを示唆しているようです。私はMacPythonを知りませんが、もしそれがこのサイト、そうであれば、2004 年以降更新されていません。また、OS X の 10.3 以降のバージョンについても触れられていないようですが、これはあまり最新ではありません。

それで、私はさらに混乱しています。Python をいつ更新しましたか? どのように更新しましたか? どのバージョンの OS X を実行していますか?

答え3

Python がどこに生息しているか調べる:

$ which python
/usr/bin/python

シンボリックリンクかどうかを確認します:

$ ls -Fal /usr/bin/python
lrwxr-xr-x  1 root wheel  72 May 19 12:02 /usr/bin/python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python

もしそうなら、/usr/bin/python を新しい python にリンクします。

$ sudo ln -s (new python, maybe /System/Library/Frameworks/Python.framework/Versions/2.x/bin/python) /usr/bin/python

動作するか確認してください:

$ python --version
Python 2.xxx

関連情報