Mac OS X 10.6.2でHomebrewに切り替えようとしました(finkとmacportを使用した後)。 python 2.7をインストールしました
brew install python
問題は、Macportとは異なり、python_selectユーティリティが存在しないようであり、私のデフォルトのmac pythonは常にデフォルトであるということです
which python
ください
/usr/bin/python
/usr/bin/python
はシンボリックリンクではありません
python brewフレーバーをデフォルトのpythonにするにはどうすればよいですか?
Homebrewを使用している場合、次のコマンドを使用するとより良い状況がわかります。
brew doctor
出力:
==>/usr/binは/ usr/local/binの前にありますこれは、Homebrewが提供するプログラムの代わりにシステム提供のプログラムが使用されることを意味します。たとえば、これは問題です。 Pythonを作成しました。
.bash_profileを編集して、$ PATHの/ usr/local/binを/ usr/binの前に配置することを検討してください。
参照: Homebrewでpythonをシンボリックリンクするには?
$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python
クイックフィックス:
/etc/paths
を開く私の場合、/etc/paths
は次のようになります。
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
OSXのパスについて詳しく知りたい場合は、この記事が非常に役立ちました。
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
OSX High Sierraで「Pythonをインストールする」を作成しました。 $PATH
には他のパスの前に/usr/local/bin
がありましたが、それでもwhich python
はシステムのpythonを指していました。
深く見てみると、/usr/local/bin
にpython実行可能ファイルがないことがわかりました。実行可能ファイルの名前はpython2
です。この問題を解決するには、python2
を指すシンボリックリンクpython
を作成します。
/usr/local/bin $: ln -s python2 python
Homebrewインストーラー自体が示唆しているように、これを必ず.bashrc
または.zshrc
に追加してください:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Homebrewは、「/ usr/bin」の内容を置き換えません。パスの「/ usr/bin」の前に「/ usr/local/bin」を置き、「which python」を使用すると「/ usr/local/bin/python」が得られます。
/ usr/bin/python(または/ usr/bin/Ruby)を置き換えることは強く推奨されません。
python
式はpython3
(今のところv3.6.5)を使用するようになり、brewはdirectoryをリンクします:
/usr/local/opt/python -> ../Cellar/python/3.6.5
また、binaryをリンクします。
/usr/local/bin/python3 -> ../Cellar/python/3.6.5/bin/python3
それでもpython2.x
を使用する必要がある場合は、次を使用します。
brew install python@2
Homebrewのpython
を使用するには、bash用にそのディレクトリをPATHに入れるだけです:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
魚用:
set -x PATH /usr/local/opt/python/libexec/bin $PATH
注意:
python
のシステムデフォルトバージョンがシャドウされます。/usr/local/share/python
にリンクするために使用されていたhomebrew。$ PATHを変更し、これをbashrcまたはbash_profileに追加します。
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
詳細はこちら: 問題#89791
PATH環境変数を編集して、homebrew pythonの場所が/ usr/binの前に検索されるようにします。また、PYTHONのような変数をpythonの目的のバージョンに設定し、コマンドラインからpython
ではなく$PYTHON
を呼び出すように、シェル構成で設定することもできます。
また、別のポスターが述べたように(特にMacの場合)、/ usr/binのpythonを台無しにして別のpythonインストールを指すようにしないでください。もしあなたがそうするなら、あなたは単にトラブルを求めているだけです。
brew install python
をやった、私の$PATH
は良かったが、それでもwhich python
はシステムをインストールしてくれた。端末を再起動すると修正されました。
Homebrew pythonをデフォルトにする手段があると思いますが、私の意見では、問題を解決する適切な方法はシステムpythonパスを台無しにすることではありません:virtualenvを作成する方が良いhomebrew pythonがデフォルトになります(virtualenv --pythonオプションを使用)。 python_select
のようなツールを使用することは、ほとんど常に悪い考えです。
ただやる:
brew install python
brew link python
それを行った後、これをbashrcまたはbash_profileに追加します:
alias python='/usr/local/bin/python2'
楽しい!
High Sierra以降、以下を使用する必要があります。
Sudo chown -R $(whoami) $(brew --prefix)/*
これは、/usr/local
をchownできないためです。
/usr/local/opt/python/libexec/bin
を明示的に.bash_profile
に追加します:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
その後、正常に動作するはずです。
/ etc/pathsを編集できます。これが私のものです:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
次に、pythonバージョンのシンボリックリンクを追加します。私の場合
$ cd /usr/local/bin
$ ln -s python3 python
出来上がり!