macOSをHigh Sierraにアップグレードをしようとしたら失敗し、クリーンインストールしました。そのため0からHomebrew、LaTeX、zsh、Python、Rなどの環境を整えることとなったので、個人的メモも兼ねて残しておきます。
- ハードウェア
- macの使用目的 & Pythonなどの導入理由
- High Sierraのインストール
- Time Machineの設定
- AppStoreから欲しいアプリを入れる
- Homebrewを入れる
- 文書作成環境を整備する
- zsh + Prezto + Solarized で使いやすいターミナルを実現する
- pyenv + pyenv-virtualenv + AnacondaでPython環境を整備する
- Rのインストール
- まとめ
ハードウェア
MacBook Pro(Retina, 13-inch, Mid 2014)
macの使用目的 & Pythonなどの導入理由
- 研究での簡単な計算、グラフ作成 → Python・LaTeX
- 授業でのレポート作成、データ処理など → Python・LaTeX・R
- 趣味のデータ処理、図作成 → Python
- 普段の生活で使うコンピューターの1つ→LINE・Slack等
- プログラミングの基盤 → Homebrew・zsh
ということでPythonとzsh、LaTeXの環境を整えることを中心とします。
High Sierraのインストール
指示通りにiCloudを設定したりするだけなので特に書くことはありません。詳しく知りたい方は下の記事をお読みください。
Time Machineの設定
データのバックアップをさぼっていたのがクリーンインストールすることになった理由の1つなので、その教訓を踏まえて真っ先にTime Machineにバックアップを取ります。
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のインストール
上のサイトからコピーしてきた下のコマンドを実行すれば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でインストールできるプログラムの範囲を広げるためにHomebrew-Caskを使えるようにします。下のコマンドを実行するだけです。
$ brew tap caskroom/cask
Homebrew-Caskで各種プログラムをインストールする
LaTeXやzsh、Python等とは関係ないのですが、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をインストールする
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です。
この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
ターミナルを再起動するとこのようにマシなターミナルになります。更に設定を変えたい方は色々調べてみてください。
Solarizedの設定
色の設定があまり好みではないので、Solarized Darkに変更します。このような色設定になります。
上のページの"Click Here To Download Latest Version"をクリックしてSolarizedをダウンロードします。
ダウンロードしたファイルを解凍するとosx-terminal.app-colors-solarizedというフォルダがあります。その中にあるSolarized Dark ansi.terminalを右クリック(2本指クリック)をすると「このアプリケーションで開く」という選択肢が出てくるので、そこから「ターミナル」を選択します。
すると下図のようなターミナルが新たに立ち上がります。
その状態でターミナル > 環境設定 > プロファイル を選ぶとSolarized Darkが選択されていると思うので、下のほうにある「デフォルト」をクリックし、Solarized Darkをデフォルトのプロファイルにします。
後はフォントのサイズを微調整すれば、見た目がいい感じのターミナルが出来上がります。こだわる人はさらにこだわってください。
pyenv + pyenv-virtualenv + AnacondaでPython環境を整備する
pyenv + pyenv-virtualenv + AnacondaでPython環境を整備します。詳しくは下のページを見てください。(anyenvを使うところ以外はこのとおりやればOK)
pyenvを入れる
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を入れる
このままAnacondaを入れると、pyenvとAnacondaのactivate衝突問題が発生するので、pyenv-virutualenvを入れます。
$ 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をビルドしないといけないそうなので 公式サイトからそのままダウンロード&インストールしてきます。
ただし、zshでRを実行しようとすると下の記事で記述がある通り、zshがデフォルトで定義しているコマンドrと衝突するので、デフォルトのrを無視するコマンドを打ちます。
$ echo 'disable r' >> ~/.zshrc
またRStudioもインストールします。
$ brew cask install rstudio
まとめ
環境を作り直すのはとても面倒なので、バックアップはちゃんととりましょう。