Mac OS X 10.6.7でデフォルトのPythonインストールを更新/ $ PATHを修正するにはどうすればよいですか?


8

この質問がこのサイトで以前に尋ねられたことを知っており、いくつかの価値のある議論を見つけましたが、私が見つけて試した解決策は機能しません。Pythonを習得したいのですが、MacでPythonを正しく設定できません。OS X 10.6.7を実行しています。

私はpython.orgからPython 3.2インストーラをダウンロードしてインストールしました/Library/Frameworks/Python.framework/Versions/3.2/bin。IDLEを使用して簡単に開発できるので、これは今のところ問題ありません。コマンドラインから3.2を使用するためにpython$PATH変数を並べ替えようとしました。これは~/.profile次のようになります。

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

ただし、pythonまだ2.6.1を起動します。

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

しばらく苦労した後、私は3.2をアンインストールして、Pythonのシステムインストールを更新するだけでよいと判断しました。私はそれを適切に行う方法がわからないので、コマンドラインで3.2を動作させるか、2.6.1を更新する必要があります。

回答:


5

私はMac OS X LionにPython 3.2.2をインストールすることでこの問題を解決したので、誰かが役に立てば幸いです。

まず、私はシェードサンドカラーに同意します。Python3.0+インタープリターを使用して実行するとスクリプトが正しく機能しない可能性があるため、Macに付属のPythonのデフォルトコピーを変更しないでください。そうは言っても、最新のPython(この記事の執筆時点では3.2.2)をインストールするには、まず公式WebサイトからPythonインストーラーをダウンロードする必要があります。通常どおりにインストールします。/ Applications / Python(ver)フォルダーの「Update Shell Profile.command」ファイルを実行します。

pythonがインストールされたら、コマンドラインで「sudo nano / etc / paths」と入力してパスを編集する必要があります。次に、プロンプトが表示されたらパスワードを入力します。次に、「/ usr / local / bin」の行を「カット」して、「/ usr / bin」が出現する前に「貼り付け」ます。ファイルを保存し、開いているターミナルをすべて閉じて、ターミナルの新しいインスタンスを実行します。コマンドラインで「python」と入力すると、シェルは最初に/ usr / local / binを検索し、最新のpythonのコピーを実行します。


私がこれを一日中理解しようとしているので、+ 1。実際、Snow Leopardでは、シェル構成でPATHを設定しても機能しない/etc/path場合、提案どおりの編集は完全に機能します。私にとっての問題は、カスタムpythonインストールを使用したいことをグラフィカルとターミナルemacsの両方に認識させることでした。先端をありがとう!
jrhorn424 2012

これは、もし私も働いていたcd /usr/local/bincp python3.7 python、私の端末を再起動します。
openwonk

1

私の経験では、シンボリックリンクと適切に順序付けされたPATHを使用することは、複数のバージョンのPythonをOS Xまたは他の考えられるnixで共存させる方法です。OS Xは少し間抜けですが、同じように動作します。

最初に、次のコマンドを実行して全体像を取得します。

which python

次に:

ls -la /usr/bin/python*

と比較してください:

ls -la /usr/local/bin/python*

シンボリックリンクが指している場所を確認します。

投稿したPATHに基づいて、/ usr / binが/ usr / local / binの後にあるため、おそらくシステムのPythonインタープリターを使用しています。

/usr/bin/python

python3.0をインストールした場合、おそらく次のように実行されます。

/usr/local/bin/python

何がどこを指しているのか、またどのインタープリターがPATHからロードされているのかがわかったので、PATHやシンボリックリンクに適切な変更を加えることができます。その後、同じ手法を使用して、適切な変更を確認できます。

macOSへのpythonのインストールに関するより良い情報については、python3farmdev に飛び込んください


/usr/local/bin/python存在しませんが、存在/usr/local/bin/python3します。python3 --version私のインストール(3.2)を与えます。そのシンボリックリンクの名前を単に変更してpython、3を入力する必要がないようにできますか?
Steven Zezulak

PATHが正しく順序付けられている場合(/ usr / local / binが/ usr / binの後にある)、それを行うシンボリックリンクを作成するだけで済みます。
ソマントラ、2011

1
しかし、/ usr / binが/ usr / local / binの後にある場合、システムpython(/ usr / bin / python)をロードし続けます。
ソマントラ、2011

0

MacPorts経由でPythonをインストールすると、システムバージョンがアップグレードされる可能性があります。私には実際にはそうではないのではないかと疑っています。しかし、PythonをインストールしたときにMacPortsが何をするかを確認したいかもしれません。


0

私は以前に誰かにこの質問をしたことがあり、動作の一部がそれがどこにある2.7バージョンに依存している可能性があるため、Pythonのデフォルトバージョンを変更しないようにアドバイスされました。そうは言っても、python3コマンドをパスに追加するのはそれほど多くの作業ではありません。それは私が現在やっていることであり、それは問題ないようです。


0

インストーラーを使用した場合、Pythonは/ usr / local / bin / python3にあります。パスpython3は、ターミナルのように使用可能になるように自動的に更新する必要もあります。古いものpythonがまだ利用可能であり、他のシステムで使用される場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.