クリーンインストールしたmacOS High Sierraに0からHomebrew、LaTeX、zsh、Python、Rなどの科学技術計算開発環境を整える(2017/11版)

macOSをHigh Sierraにアップグレードをしようとしたら失敗し、クリーンインストールしました。そのため0からHomebrew、LaTeXzshPython、Rなどの環境を整えることとなったので、個人的メモも兼ねて残しておきます。

ハードウェア

MacBook ProRetina, 13-inch, Mid 2014)

macの使用目的 & Pythonなどの導入理由

  • 研究での簡単な計算、グラフ作成 → PythonLaTeX
  • 授業でのレポート作成、データ処理など → PythonLaTeX・R
  • 趣味のデータ処理、図作成 → Python
  • 普段の生活で使うコンピューターの1つ→LINE・Slack等
  • プログラミングの基盤 → Homebrew・zsh

ということでPythonzshLaTeXの環境を整えることを中心とします。

High Sierraのインストール

指示通りにiCloudを設定したりするだけなので特に書くことはありません。詳しく知りたい方は下の記事をお読みください。

wayohoo.com

Time Machineの設定

データのバックアップをさぼっていたのがクリーンインストールすることになった理由の1つなので、その教訓を踏まえて真っ先にTime Machineにバックアップを取ります。

support.apple.com

AppStoreから欲しいアプリを入れる

バックアップをしている間に、Slack・LINE・Pocket・Kindle・OneDriveなどのアプリをAppStoreを入れます。当然ですが、入れるアプリは人によって違います。

Homebrewを入れる

macOSの定番パッケージマネージャーであるHomebrewを入れます。

AppStoreからXcodeをインストール

HomebrewにはXcodeが必要なので、AppStoreからXcodeをインストールします。1時間ぐらいかかるので、待っていてください。

XCodeのCommand Line Toolsも必要なので、下のコマンドを実行します。

$ xcode-select --install

2つぐらいポップアップが出てくるのでinstallやagreeを選択します。

またライセンスを許諾する必要があるので下のコマンドも実行します。

$ sudo xcodebuild -license

Homebrewのインストール

Homebrew — macOS 用パッケージマネージャー

上のサイトからコピーしてきた下のコマンドを実行すればOKです。詳しくは上のサイトを見てください。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

その結果、

==> Installation successful !

と出れば、ひとまずはインストール成功です。またHomebrewの挙動を確認しましょう。下のコマンドを実行して

$ brew doctor
Your system is ready to brew.

となればOKです。

Homebrew-Caskを使えるようにする

Homebrew-Cask

Homebrewでインストールできるプログラムの範囲を広げるためにHomebrew-Caskを使えるようにします。下のコマンドを実行するだけです。

$ brew tap caskroom/cask

Homebrew-Caskで各種プログラムをインストールする

LaTeXzshPython等とは関係ないのですが、Homebrew-Caskを使って色々なプログラムをインストールしてみます。ここは飛ばしても問題ありません。

$ brew cask install google-chrome google-japanese-ime google-backup-and-sync
$ brew cask install visual-studio-code
$ brew cask install dropbox

文書作成環境を整備する

MacTeXをインストールする

TeX Live/Mac - TeX Wiki

LaTeXを使えるようにするためにMacTeXをインストールします。合計1時間30分ぐらいかかるので待ちましょう。

$ brew cask install mactex
#(ここでなぜか1度terminalを再起動する必要がある)
$ sudo tlmgr update --self --all
$ sudo tlmgr paper a4

Office 2016をインストールする

MacTeXのインストールとアップデートにかなり時間がかかるので、その間にOffice 2016をインストールしておきます。インストールの方法は、どのような契約を結んでいるかによって異なるので、各々お調べください。

zsh + Prezto + Solarized で使いやすいターミナルを実現する

macOSのターミナルはデフォルトで使いにくいので、zshを導入しつつ見た目も改善することによって使いやすいものに変えていきます。

zshをインストールする

mac標準のzshはバージョンが古いそうなので、Homebrewで新しいのを入れます。

$ brew install zsh

そして/etc/shellsに新しいzshのパスを追記し、起動シェルをzshに変更します。

$ sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"
$ chsh -s /usr/local/bin/zsh

ターミナルを再起動すると、zshに変わっているのが確認できると思います。最初に.zshrcなどの設定について聞かれますが、q(Quit、離脱)を選択し、設定ファイルの作成を後回しにします。

Preztoの導入

zshは設定を自分で色々変更することが可能であり、それが魅力の1つなのですが、私のような初心者には荷が重い作業です。

そのため設定管理フレームワークを導入することによって、他人が作ってくださった優れた設定を導入することとします。その設定管理フレームワークで有名なものの1つがPreztoです。

github.com

このPreztoを導入します。まずzshが動いている状態でgit cloneしてきます。

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

次に、zshの設定を書き換えます。4行を一度にコピペして実行することに注意してください。

$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

ターミナルを再起動するとこのようにマシなターミナルになります。更に設定を変えたい方は色々調べてみてください。

f:id:nakachan94:20171121172449p:plain

Solarizedの設定

色の設定があまり好みではないので、Solarized Darkに変更します。このような色設定になります。

f:id:nakachan94:20171121162756p:plain

Solarized - Ethan Schoonover

上のページの"Click Here To Download Latest Version"をクリックしてSolarizedをダウンロードします。

ダウンロードしたファイルを解凍するとosx-terminal.app-colors-solarizedというフォルダがあります。その中にあるSolarized Dark ansi.terminalを右クリック(2本指クリック)をすると「このアプリケーションで開く」という選択肢が出てくるので、そこから「ターミナル」を選択します。

f:id:nakachan94:20171121172525p:plain

すると下図のようなターミナルが新たに立ち上がります。

f:id:nakachan94:20171121172554p:plain

その状態でターミナル > 環境設定 > プロファイル を選ぶとSolarized Darkが選択されていると思うので、下のほうにある「デフォルト」をクリックし、Solarized Darkをデフォルトのプロファイルにします。

f:id:nakachan94:20171121181037p:plain

後はフォントのサイズを微調整すれば、見た目がいい感じのターミナルが出来上がります。こだわる人はさらにこだわってください。

f:id:nakachan94:20171121181100p:plain

pyenv + pyenv-virtualenv + AnacondaでPython環境を整備する

pyenv + pyenv-virtualenv + AnacondaでPython環境を整備します。詳しくは下のページを見てください。(anyenvを使うところ以外はこのとおりやればOK)

qiita.com

pyenvを入れる

github.com

systemのPythonとAnacondaのPythonが共存できるようにpyenvを入れます。

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

pyenv-virtualenvを入れる

github.com

このままAnacondaを入れると、pyenvとAnacondaのactivate衝突問題が発生するので、pyenv-virutualenvを入れます。

qiita.com

$ brew install pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
$ source ~/.zshrc

Anacondaのインストール

pyenvを使ってAnacondaをインストールします。Anacondaを使うと、科学技術計算に使用するライブラリを一度にインストールすることができ便利です。

まず、インストール可能なAnacondaのリストを表示させます。

$ pyenv install -l | grep anaconda

anaconda-1.4.0
...
anaconda3-5.0.0

ということでanaconda3-5.0.0が2017年11月21日現在で最新のインストールできるAnacondaです。これをインストールします。5分ぐらいかかります。

$ pyenv install anaconda3-5.0.0

インストールが終了したら、使用可能なPythonのリストを確認でます。

$ pyenv versions

* system ( set by /Users/(USER NAME)/.pyenv/version )
  anaconda3-5.0.0

systemのPythonとanacondaのPythonが使用可能であるということが分かります。ここでanacondaに切り替えます。

$ pyenv activate anaconda3-5.0.0
$ pyenv versions
   system ( set by /Users/(USER NAME)/.pyenv/version )
* anaconda3-5.0.0
$ python -V
Python 3.6.2 :: Anaconda, Inc.
$ pyenv deactivate
$ python -V
Python 2.7.10

以上の通りPython 3.6.2とPython2.7.10を切り替えられていることが分かります。

Rのインストール

授業でRを使うので、Rもインストールします。Homebrewを使うとgccをビルドしないといけないそうなので 公式サイトからそのままダウンロード&インストールしてきます。

R for Mac OS X

ただし、zshでRを実行しようとすると下の記事で記述がある通り、zshがデフォルトで定義しているコマンドrと衝突するので、デフォルトのrを無視するコマンドを打ちます。

qiita.com

$ echo 'disable r' >> ~/.zshrc

またRStudioもインストールします。

$ brew cask install rstudio

まとめ

環境を作り直すのはとても面倒なので、バックアップはちゃんととりましょう。