CodeLab技術ブログ

プログラミング技術まとめ

[mac]brewとanacondaは相性最悪

homebrewでビルドしたものがなんか動かない。
ビルドは通るんだけどライブラリのバージョンが違うとか言われる。

うーん。

どうも、homebrewとanacondaを入れるとお互いのライブラリが干渉しあっておかしくなるっポイ。
コンソールで
#brew doctor
を実行するといろいろアドバイスがでる。

私の場合はとりあえず
~/.bash_profile でanaconda関連のPATH設定をいったん消してbrew doctorのアドバイスに従ってPATH設定して再起動したらうまくいきました。

pathを通す順番を変えればいいとかの情報もあるのですが、変えたら変えたで、あちらを立てればこちらが立たず・・・でおかしくなるんじゃないかな?
macはほんとよくわからん。

追記
その後いろいろ試してみて、以下のようにすると切り替えられることがわかりました。
概要としては、環境変数PATHからanaconda関連のものを消してexportしなおせばいい。

$PATH コマンドで、現在設定されているPATHの環境変数を表示。
表示されたパス一覧からanaconda関連のパスを削除して
export PATH=”(anaconda関連のPATHを取り除いたもの)”
コマンドで設定しなおせばよさそう。

コンソールからのビルドであればこれでとりあえずよさそうです。
anacondaはGUIから起動することもあるので、通常はanaconaの設定にしておいて、brewでビルドしたいときだけ上記のようにすればよさそうです。

下記を実行して
$brew doctor
your system is ready to brew.
ってなってれば大丈夫だと思われます。

ただ、いちいち上記の作業をやるのは面倒なので、shellスクリプトでやればいいんだけど、普通に実行すると、新たに生成されたシェルの中で実行されて、その中で設定変更されるだけなので、現在の実行したシェル内では環境変数が書き変わりません。ですので、

$sorce ./brewbild.sh

といった感じで、sorceコマンドを付けて実行しましょう。

コメントは受け付けていません。