#目的
環境構築の理解を深めたい。(また環境構築にてこずったので)
今まではHomebrewを使っていたが都度必要なライブラリをインストールするのが手間なのでまとめてあるプラットフォームを使ってみたいなーと思った。
#今までの理解
大まかにはbrewを作り、その上にAnaconda、pip等でインストールしていくと理解していた。
##Homebrew,pip,Anaconda,pyenv,venvって何?
-
Homebrew: Mac OS Xオペレーティングシステム上でソフトウェアの導入を管理するパッケージマネージャー。
これが一番の土台となると理解。 -
pyenv:Pythonのバージョン管理を行う。簡単に切り替えができるためpyenvを通してPythonをインストールする。詳しくは以下。
「初心者でも分かる仮想環境構築」
https://qiita.com/Taka20200105/items/20cebb42a20301203d2e -
pip: Pythonのパッケージマネージャー。通常、パッケージはpipコマンドを使ってインストールする。(Rubyでいうジェムみたいなもの。)
-
Anaconda:Python本体に加えて、データサイエンス向けのPythonパッケージを提供するプラットフォーム。CondaコマンドでAnacondaが管理・運用する専用のリポジトリからダウンロードし、Conda環境にインストールする。
-
標準のPythonでは仮想環境の管理はvenvモジュールで行うが、Anacondaでは仮想環境もCondaコマンドで提供している。
##Anacondaの環境構築
Homebrew,pyenvはインストール済みなので割愛。
pyenv globalによって全てのディレクトリ で該当のバージョンが実行されるようにしている。
#Anacondaのインストール
% pyenv install Anaconda3-2019.10
Downloading Anaconda3-2019.10-MacOSX-x86_64.sh...
-> https://repo.continuum.io/archive/Anaconda3-2019.10-MacOSX-x86_64.sh
Installing Anaconda3-2019.10-MacOSX-x86_64...
Installed Anaconda3-2019.10-MacOSX-x86_64 to /Users/.pyenv/versions/Anaconda3-2019.10
#バージョンの切り替え
% pyenv global Anaconda3-2019.10
% pyenv versions
system
3.8.0
* Anaconda3-2019.10 (set by /Users/uemura/.pyenv/version)
% pyenv global 3.8.0
uemura@uemuratntonoAir python_machine_learnig % pyenv versions
system
* 3.8.0 (set by /Users/uemura/.pyenv/version)
Anaconda3-2019.10
#バージョン変更が必ずpyenv rehashを行わなければならない。
#変更を保存できるのかな?
% pyenv rehash
#確認
% python -V
Python 3.8.0
#感想
Homebrewをビルドしてその上にインストールしていくのだが、pyenvとかAnacondaをどのように立てていくのかを整理できた。今回の整理で理解が進み、現状の環境構築へのモヤモヤが晴れた。
- Homebrewビルド ⇨pyenvでPythonをインストール ⇨venvで仮想環境構築 ⇨ライブラリ追加やPython実行。
- Homebrewビルド ⇨pyenvでAnacondaをインストールする。
この方法だとライブラリ+Pythonのインストールを一括でできるので非常に便利だ。
一方で、HomebrewとAnacondaは非常に相性が悪いとの情報が多く見られた。Anacondaのインストール時は必ずpyenvでインストールする。
Anaconda使ってみよう。
##参考文献
HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ
「https://qiita.com/aical/items/2d066801a7464a676994」
python Japan
「https://www.python.jp/install/anaconda/index.html」