2013-03-08 15 views
10

私はhomebrewを使ってpythonをインストールしたいと思います.2つの異なる式があります.1つはpython 2.x、もう1つは3.xです。最初のシンボリックリンクは「python」で、もう1つは「python3」です。だから私はbrew install python3を走らせた。homebrewでpython3のシンボリックリンクを「python」に変更するには

私は本当にpython 3を使用しているので、デフォルトのコマンドを毎回 "python3"と入力するのではなく、 "python"にしたいと思います。これを行う方法はありますか?私はbrew switch python 3.3を試しましたが、「PythonがCellarに見つかりません」というエラーが表示されます。

+0

本当にこれを行うには、しないでください。代わりにvirtualenvを使用してください。 –

答えて

7

あなたは間違いなくではありません。これをやりたいです!あなたはPython 3だけを気にするかもしれませんが、多くの人々はpythonがPython 2へのシンボリックリンクを期待するコードを書いています。これを変更すると、あなたのシステムがひどく混乱することがあります。

+2

'/ usr/local/bin'などで実行すると、明示的に'/usr/bin'を使用する必要のあるシステムプログラムを壊してしまうことはないでしょう。しかし、私は、ほとんどのディストリビューションとユーザがまだ 'python'を' python2'と仮定していることに同意します。それは結局変わるでしょう。そして、あなたは自分のシステムの最先端にいることを確かに選ぶことができます。既に少なくとも一つの例外があります:私は、Arch Linuxが 'python3'にリンクされた' python'を持っていると考えます。 –

+0

もちろん。しかし、Archの場合、開発者は* Py3を期待しています。あなたがPy2を期待するときにプログラムPy3を与えるなら、あなたはおそらくプログラムを乾杯します。クロスPythonの互換性(これは私が努力しているもの)で例外がありますが、ほとんどの場合、 'print xxx'や' x = y/3#int expected'を打って列車に入ります難破。 – pydsigner

+0

真実だが、おそらくOPは彼自身のために自分のMacを設定している(HomebrewはMacのみ)。ユーザーは注意してください。 –

3

Python 2をインストールして使用したくないと確信しているなら、/ usr/local/binに追加のシンボリックリンクを作成するだけでよいと思います。

../Cellar/python3/3.3.0/ 

で何かにリンクして

python -> ../Cellar/python3/3.3.0/bin/python3 

のように、なぜ2つのニシキヘビ側 - を持つことの利点をあきらめ、しかしよく考えて、最後に3のないリンクを作成するすべてのための チェックバイサイド?たぶん意図通りの自作のPythonを使用し、virtualenvでPython 3環境を作成してください。

2

個人的に使用する場合は、pythonのシンボリックリンクを変更しないでください。あなたのシステムプログラムの多くは、pythonがPython 2.6を指しているため、シンボリックリンクを変更すると、それらのプログラムが壊れてしまいます。

pyのような短い名前を選択し、alias py=python3のように~/.bashrcに別名を書き込んでください。例えば

、テストで:

$ echo "alias py=python3" >> ~/.bashrc 
$ bash 
$ py 
>>> 3+3 
6 

これは、システムや他のユーザーに影響を与えることなく、あなたの利便性を提供します。

0

はい、はるかに良いが使用する[仮想環境]デフォルトとして設定パイソン3はpythonともpipを隔離するシステムのデフォルト

pyvenv /path/to/new/virtual/environment 

と混乱よりもPythonの3のために(https://docs.python.org/3/library/venv.html)がその環境にインストールされますこれはどのプロジェクトでもやりたいことです。

0

これはいい考えではありません。しかし、必要なときに行う最も簡単な方法は、端末でpython3を実行することです。 python3のために何かを実行する必要がある場合はpython3を実行してください

関連する問題