【Python】pyenvでHomebrewとAnacondaの開発環境競合を回避する

目次

Acondaとは?

Anacondaは、Pythonの実行環境で多くのライブラリやツールを提供するプラットフォームです。

データサイエンス用のソフトウェアを中心に多くの資産を公開しています!

Anacondaを利用する理由と、利用しない場合

Anacondaを利用しなくても、他にもPythonの実行環境はあります!

その場合は、The Python Package Index(PyPI) を利用します。

Anacondaと同じように、多くのソフトウェアを、利用することができます。

禄太
私の場合は、データサイエンスの学習も見据えてAnacondaを利用することにしました!
ご自分の学習目標にあわせて、環境を選択してください!
2つの違いをもう少し知りたい場合は、以下のリンクから、Python Japanの説明を見ることができます!

Homebrewが入っている場合、環境構築時に競合してしまう。

さて、早速環境構築をしましょう!
と、行きたいところなのですが、実は一つ懸念があります。

私は、Macを使っていてHomebrewをインストールしています。
※補足ですが、Homebrewは、パッケージをインストール・アンインストールするための管理ツールです。
Homebrewをインストールしたときの思い出は、以下をご覧ください!

PCで仕事をしている人

Homebrewでサクッとインストール!MySQLの環境構築(失敗談あり)

2021年10月16日

話が逸れてしまい、恐縮です、、、。

インターネット上でよく触れられていることなのですが、実はこのHomebrewとAnacondaは相性が悪いらしく、お互い干渉し合ってしまうことが多いようです。

何も手当せずにインストールのコマンドをターミナルから実行すると、Warningが出力されます。

黒板位書かれた電球

回避するための対応策(pyenv上に構築する)

禄太
では回避策は?

ということで探してみると、「pyenv」上にAnacondaをインストールして実行環境を分離する方法が話題に上がっていました。

pyenvとは!?
様々なバージョンのPythonを管理するツールのことです。導入することで,Python2系と3系など,複数のバージョンの切り替えが簡単にできるようになります。

手順

禄太
早速Homebrewを使って、Pyenvをインストールしその上にAnacondaを載せてみたいと思います!
ここからは、ターミナルで実行しますので、起動してください!
もし失敗した場合に備えて、バックアップはとっておいてくださいね!

①pyenvがそもそもないよね?の確認

一応ですが、過去にpyenvをインストールしたことがないこと、を確認をします。

私のように初学者の方は、インストールされていないかもしれませんが、過去に実行したことがある場合は、一度削除してから後続を進める方が良いでしょう。

$ pyenv -v

-bash: pyenv: command not found というエラーが返って来れば、pyenvは存在しません。

②brewコマンドで、pyenvのインストール

pyenvがないことを確認したら、以下のコマンドを実行します。

$ brew install pyenv
禄太
以下のようなコメントがターミナル上に出てくると思いますので、しばらく待ちます。

【ターミナル上の表示】
==> Installing pyenv
==> Running `brew cleanup pyenv`…

終了したところで、もう一度バージョン確認のコマンドを実行しましょう。

$ pyenv -v

今度は、「pyenv X.X.X」のようにバージョン情報が出力されたら、pyenvのインストールは成功です!

③パスを通す

pyenvを使用するための設定をします。
まず、以下のコマンドを実行してみましょう。

$ echo $SHELL

実行結果が、「/bin/bash」だった場合は、以下のコマンドを連続して実行します。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

実行結果が、「/bin/zsh」だった場合は、以下のコマンドを連続して実行します。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ source ~/.zshrc

何がなされたか。というと、「.bash_profile」もしくは「.zshrc」というファイルに設定用のコードを追加しています。

私の環境では「.bash_profile」だったので、「.zshrc」は未検証なのですが(すみません、、、)、上記のコマンドどちらかで、パスが通った状態になるはずです。

④pyenv上に、anacondaをインストールする

禄太
ここにきてようやく、anacondaをインストールする準備が整いました!
インストールしたいバージョンを調べてみましょう。
実行すると、多数のバージョンが一覧表示されるはずです。
$ pyenv install -l
禄太
このバージョンで開発したい!という、強い気持ちがあるわけではないので、最新のバージョンを確認してインストールすることにしました。
私が実行した当時は、【anaconda3-2021.11】が最新でしたので、以下のコマンドでインストールしてみます。
$ pyenv install anaconda3-2021.11
禄太
最終確認をしましょう。
以下のコマンドを実行して、「anaconda3-2021.11 (set by /Users/Username/.pyenv/version)」が表示されたら成功です!
最後までお付き合いいただき、ありがとうございました!
$ pyenv version

⑤2024/1/4追記:

Macbookairに買い替えたので、以下のエラーが出力されました。

何もせずにHomrebrewを起動しようとすると、【zsh: command not found: brew】と怒られるので実行しておきましょう!

Users/userの部分をご自分のUser情報に書き換えるのを忘れずに!

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/user/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

追伸:これからPythonを学ぶなら

これからPythonを学びたい!業務に活かせるように学習したい!という方ならば、まずはUdemyで学習を始めることをお勧めします。

Udemyでは、数多くの講師陣がITの知識やスキルアップのための解説動画を提供していて、現場でも役立つ知識が多数存在します。

禄太
私も、Udemyで学習しながらITのスキルを身につけ、仕事に役立てています。

特に、流行りもあるのだと思いますがPythonやAWSの講座は数が多く品質が高いものが多いです。

手前味噌ながら以下の記事で、主に初学者の方向けのお勧め講座のレビューをしていますので、ご参考にしていただけますと幸甚です。

脱初学者!!Udemy講座で徹底的に基礎を学んだので各講座のレビュー

2023年11月25日