web-dev-qa-db-ja.com

home brew python versionをリンクしてデフォルトとして設定する方法

MacPortsからHomeBrewに切り替えました。必要なXCodeバージョンと他のソフトウェアをすべてインストールした後、homebrewを使用してpythonをインストールしようとしました:正常にインストールされていると思いますが、_which python_ Mountain Lionに同梱されているバージョンだと思います。

_which python
/usr/local/bin/python

python --version
Python 2.7.3
_

だから私は再びインストールしようとしました

_brew install python --framework --universal
Warning: python-2.7.5 already installed, it's just not linked
_

しかし、python 2.7.5はすでにインストールされており、リンクされていません。私は_brew link python_を実行しようとしました

それは次のメッセージに私を導いたので、私は何をすべきかわからない:

/usr/local/Cellar/python/2.7.5をリンクしています...警告:pythonをリンクできませんでした。リンクを解除しています...

_Error: Could not symlink file: /usr/local/Cellar/python/2.7.5/bin/smtpd2.py
Target /usr/local/bin/smtpd2.py already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name
_
37
add-semi-colons

brew install python3でpython3をインストールした後、エラーが発生しました:

Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

brew link python3と入力すると、エラーは次のようになりました。

Linking /usr/local/Cellar/python/3.6.4_3... Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

問題を解決するため:

Sudo mkdir -p /usr/local/Frameworks
Sudo chown -R $(whoami) /usr/local/*
brew link python3

この後、python3 ????と入力してpython3を開くことができます。

https://github.com/Homebrew/homebrew-core/issues/20985 から)

37
lenooh

使用した場合

brew install python

「リンク解除」する前に

brew info python
/usr/local/Cellar/python/2.7.11

python -V
Python 2.7.10

そうする

brew unlink python && brew link python

新しいターミナルシェルを開きます

python -V
Python 2.7.11
7
Rolf Schulze

ターミナルで、次を入力します。

brew link python
7
Hercules

OS X High Sierraでは、これを行う必要がありました。

Sudo install -d -o $(whoami) -g admin /usr/local/Frameworks
brew uninstall --ignore-dependencies python
brew install python
python --version # should work, returns 2.7, which is a Python thing (it's weird, but ok)

https://Gist.github.com/irazasyed/7732946#gistcomment-2235469 へのクレジット

/ usr/localディレクトリを再帰的に変更するよりも良いと思いますが、それは他の問題を解決するかもしれません;)

5
Chaim Eliyah

brew link pythonのようなコマンドでリンクするバージョンを正確に指定する必要があると思います。

brew link python 3

次のようなエラーが表示されます。

Linking /usr/local/Cellar/python3/3.5.2... 
Error: Could not symlink bin/2to3-3.5
Target /usr/local/bin/2to3-3.5
already exists. 

あなたはそれを削除したいかもしれません:

rm '/usr/local/bin/2to3-3.5'

リンクを強制し、競合するすべてのファイルを上書きするには:

brew link --overwrite python3

削除されるすべてのファイルをリストするには:

brew link --overwrite --dry-run python3

ただし、コマンドをコピー/貼り付けしてリンクを強制する必要があります:

brew link --overwrite python3

新しいバージョンをインストールする必要があると思います。

4
slapash

デフォルトでpython3にスイッチを作成します。したがって、まだpython2をデフォルトのbin pythonに設定したい場合は、次を実行します。

brew unlink python && brew link python2 --force
2
Eric Guo

この答えは、Python 2.7.10からPython 2.7.11 on Mac OS X El Capitan。ターミナルタイプ:

brew unlink python

ターミナルでそのタイプの後

brew install python
1
Vikram Dutt