#はじめに
非エンジニアがTensorFlowを使うための技術を学んでいるところで、そもそもPythonのインストールでハマったので忘備録のための記事。
####書いた人
Macで最低限のコマンドを知っている (cd cat lsなど)
Linuxの最低限のコマンドを知っている(cd cat lsなど)
プログラミングはした事がない
#環境
- macOS 10.14.1 Mojave
- Xcode 10.1
#参考にした記事
- Python3 TensorFlow for Mac 環境構築
- [MacOS Mojave]pyenvでpythonのインストールがzlibエラーで失敗した時の対応
- pyenv-virtualenvでディレクトリ単位のpython環境構築
##やること
- Xcodeのインストール
- Xcode Command Line Tools のインストール
- Homebrewのインストール
- pyenvのインストール
- pyenv-virtualenvのインストール
- 環境変数の設定
- pyenvでpython3のインストール
- Mojave用のmacOS SDK headerのインストール
#Xcodeのインストール
Appストアから最新版を入手してインストールします。
#Xcode Command Line Toolsのインストール
Homebrewをインストールするために必要なものらしいです。そもそもHomebrewが何か知りたい人はこちらへ。
ターミナルで下記のコマンドを打ち込みます。コピペでOK。
$ xcode-select --install
下記が出力されたらOK
xcode-select: note: install requested for command line developer tools
#Homebrewをインストール
公式サイトにあるスクリプトを貼り付けるだけ。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
なんやか色々表示されますが、すぐに続行を促されますので、returnキーを押しましょう。
Press RETURN to continue or any other key to abort
さらになんやら表示されて、最後がこんな表示で終わるはず。
==> Next steps:
- Run `brew help` to get started
- Further documentation:
https://docs.brew.sh
一応、確認をします。
$ brew doctor
下記の表示が出ればOKぽい。
Your system is ready to brew.
#pyenvのインストール
とりあえずコマンドを入力していくだけ。
$ brew install pyenv
なんやか色々出て進んでいきます。とりあえず終わると下記の表示が出るはず。理解したい人は途中もちゃんと読むといいと思います。
==> pyenv
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh functions have been installed to:
/usr/local/share/zsh/site-functions
#pyenv-virtualenvをインストール
これも下記を入力
$ brew install pyenv-virtualenv
下記が出たら完了
🍺 /usr/local/Cellar/pyenv-virtualenv/1.1.3: 20 files, 62.2KB, built in 6 seconds
#ようやくPythonインストール
###まずはpyenvでインストールできるpythonのバージョンのリストを確認
なんやかんやいっぱい出てきますけど、TensorFlow使うために3.6.0をインストールします。3.7.xだと現時点でTensorFlowが追いついていないとかなんとか。
$ pyenv install 3.6.0
#エラーが出た! -> 環境変数の設定
ここまで順調に進んできたところで下記のエラーが出てインストールができませんでした。
BUILD FAILED (OS X 10.14.1 using python-build 20180424)
なんやかんや調べて環境変数を設定します。
$ 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
この辺りは書き方色々ありましたけども、要はpyenvにpathを通すために必要な記述ということです。
シェルを再起動します。
$ exec $SHELL -l
#それでも解決しない! -> Mojave用のmacOS SDK headerを追加
どうやら色々調べると、こんな記述が。
code-selectの最新バージョン(2354)にMojave用のmacOS SDK headerがデフォルトで入っていないのが原因のようです。
ということで、下記をインストールします。
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
今回はすんなりいきました!
一応、確認します。
$ pyenv versions
* system (set by /Users/Takeshi/.pyenv/version)
3.6.0
OKぽいですね。
出来る人は5分くらいの作業かと思うのですけど、自分は半日調べたりしてました。
以上!これから始める人は頑張ってください。