macOSの環境構築まとめ
最終更新:2017-07-26
自分用です.
だいたいコマンドの入れ方で,他の人の記事やらをここから見れるように.
一般的そうなところから,研究で必要な専門っぽいところまで,書くことになるはず.
切り分ける気はあまりなく,長くなりそうなので,ブラウザの検索機能を有効活用してください.
Qiitaの記事大量削除事件が怖すぎたので,コマンド等の必要な部分は引用します.
わたし自身が上から実行していっているので,一部をスキップした場合にどうなるかは不明です.
目次 そのうちつくる
Windows用キーボードで,無変換キー(スペース左のキー)をコマンドキーにする
MBAからmac miniに移行しようとしているし,Windowsでも無変換キーは音ゲーでしか使わない人並みの気持ち.
[Mac]MacでWindows向けキーボードを接続した際の設定 - Qiita
Seil
https://pqrs.org/osx/karabiner/seil.html.ja
Windows向けキーボードについている変換・無変換をcommandキーに変更できるソフト
Seilを使えば済むと思ったら,
https://pqrs.org/osx/karabiner/seil.html.ja
Seilの機能はKarabiner-Elementsに統合されました。Karabiner-Elementsをお使いください。
とのことなので,もうひとつのKarabinerをDLします.
Karabiner-ElementsとKarabiner-EventViewerが入るので,Elementsを起動します.
Simple Modificationsタブで,Add itemから「PCキーボードの無変換キー」を選びます(下のほうのJapaneseの中).
F7, F10とかで変換したい
Windows用外付けキーボードのため,F1〜F12があるからfnいらないでしょ?という感じでfnキーがありません.
しかも,Windows用ということが災いして,キーボードの設定にも「ファンクションキーとして使用」の項目が消えています.
何かのキーにfnを割り当てるしかない,ということで,「Windows用キーボードで〜コマンドキーにする」と同様に,位置的にCtrlに犠牲になってもらいました.
From keyにleft-ctrl,To keyにfnを選んで完成.
設定しましたが,Ctrlが右だけになってそれはそれで辛いので,設定を消して変換は頑張ることにしました.
やっぱりCaps Lockをfnにしました.
.bash_profile
bashが自動で起動しないので,.bash_profileをホームに作ります.
.bash_profileに以下を書きます.
http://magonote.skr.jp/bashrc/
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
さらに,.bashrcも自動で読み込むために,以下も追記します.
本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
# .bash_profile の最後に
test -r ~/.bashrc && . ~/.bashrc
2017/07/02現在,この一文は.bash_profileの最後ではなく,間に書いていますが,有効みたいです.
Java (JDK)
コンソールからjava -versionで確認。
「インストールしますか?」と聞かれたら、まだインストールしない。
とありますが,
java -version
をして,「詳しい情報……」をクリックして,最新版のwebページを開きます.
欲しいものは単なるJDKなので,左の「Java Platform (JDK)」をDLします.
次のページでは,デモやサンプルが不要なので,上のほう.
Homebrew
Ubuntuのapt-getのmacOS版(語弊がありそう).
MacPortsというものもあるらしいけれど,今のところ,Homebrewだけで大丈夫.
Homebrewを入れておけば,何か必要になった場合に,
brew search hoge
をすれば,Homebrewから入れられるかどうかを確認できて便利.
入れ方は,
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Xcodeを入れていなければ,
sudo xcodebuild -license
と最後に出てきて終了するので,sudo xcodebuild -license
してから /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
します.
わたしの場合,ライセンスについてだけ出てきたので,よく分からない.Xcodeが入っていなければ,sudo xcode-select --install
も必要っぽい? 雑な結論:ターミナルが言ったことをしましょう.
定期的に(どれくらい?),
brew update -all
すると嬉しい.
メモしてあったので,一応メモ.いつ必要になったかは不明:
Homebrewでインストール済みパッケージが更新後に「already installed, it's just not linked」と言われた時の対応 - Steel Dragon 14106
mercurial
は各パッケージ(brew install hogeのhoge?)に置換すること.
autotools-dev, libboost-all-dev (C++)
UbuntuやDebianなどで $ sudo apt-get install autotools-dev libboost-all-dev
としてインストールする,autotools-devとlibboost-all-devは,macOSではautomakeと(単なる)Boostらしい?(というのは元記事に書いてあるか不明ですが,そうメモってあった.)
How to install and use autotools on Mac OS X | Paolo Fabio Zaino's Blog
$ brew install automake
Boost (C++)
上記で少し言及した通り,libboost-all-devはBoostとのことなので,
【C++】Mac に Boost を インストールした – Madoka Chomado
ちょっと怖いので, 無難に公式サイトからダウンロードボタン押して入れることにしました.
http://www.boost.org/
元記事に倣って,最新版の.zipをDownloadsディレクトリにDLします.
% cd ~/Downloads/boost_1_58_0/
% ./bootstrap.sh
厳密には,boost_ version No.
に移動して,シェルスクリプトを実行.
ターミナルでも言われるように,./b2
を引き続き実行.
ただし,この元記事では --prefix=hoge
を -prefix=hoge
としているので,正しくは,
Macにboostをインストールする(ソースからビルド) | ftvlog
sudo ./b2 install -j5 --prefix=/opt/local
-jNのNはご自身のPCのCPUのコア数+1を指定するのが良いようです。
とのことなので,コア数を調べます.
system_profiler SPHardwareDataType | grep Cores
でTotal Number of Coresを確認,必要であれば書き換えて,上の通りに ./b2
を実行.
--prefix=はこのままでOK,/optと/opt/localは作る必要がない(作ると失敗する?).
テストのソースコードを書いて,実行してみます.その際のコマンドは,
$ g++ test.cpp -I/opt/local
ですが,-l(小文字のL)ではなく,-I(大文字のi)です(ここで時間を溶かしたのでメモ).
Python3
時代はPython3.ということで,Python 3 を入れます.
http://qiita.com/spyc/items/73d1295f8b3dde3b49ca
brew install pyenv
続けて,.bashrcに以下を追記します.追記した後にターミナルを再起動してください.
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
いよいよPython3を入れます.
まず,https://www.python.jp/about/でPython3のバージョンを確認します.
さらに,念のため,
pyenv install --list
で確認して,
pyenv install [version]
で入れます.
pyenvでバージョンを切り替えます.
pyenv global [version]
pyenv rehash
pip
Python3を入れたら,次はpip.当然の流れ.
http://qiita.com/spyc/items/73d1295f8b3dde3b49ca
DyNet
研究用.
更新が早いし,メモしてもあまり意味がないかも.
DyNet documentation — DyNet 2.0 documentation
左のメニューから「Installing DyNet for C++」をクリック.
macOSの部分を進める.
xcode-select --install
brew install cmake hg # Using homebrew.
sudo port install cmake mercurial # Using macports.
Eigenも必要とのことなので,Eigenを入れます.Eigenのインストールは,DyNetの下に書きます.
戻って,DyNetをgit cloneします.
git clone https://github.com/clab/dynet.git
続けて,
cd dynet
mkdir build
cd build
cmake .. -DEIGEN3_INCLUDE_DIR=/path/to/eigen
/path/to/hoge
,初見では気付かなかったのですが,ホームディレクトリにEigenを入れたなら,/Users/hoge/eigen/
になります(hogeはホームディレクトリ名).
引き続き,makeをします.
コア数を Boost (C++) と同様に確認して,
make -j 2
-I/path/to/dynet
-L/path/to/dynet/build/dynet -ldynet
を付ける(前者は大文字のi).
Eigen
研究用.
DyNetのサイトに書いてある通りに入れます.
Installing DyNet for C++ — DyNet 2.0 documentation
hg clone https://bitbucket.org/eigen/eigen/ -r 346ecdb
DyNet用ではなく,最新版をインストールしたい場合は,
brew install --HEAD eigen
lamtram
研究用.
今までのはだいたいこれのため.
あとはREADMEを進めるだけ.
GitHub - neubig/lamtram: lamtram: A toolkit for neural language and translation modeling
Note that in order to run programs like lamtram that are linked to DyNet, you will have to set the
LD_LIBRARY_PATH
variable to include the DyNet library. For example, if$DYNET_DIR
is the top directory for DyNet, then you can run the following command, or add it to you.bashrc
or.zshrc
file: $ export LD_LIBRARY_PATH="$DYNET_DIR/build/dynet:$LD_LIBRARY_PATH"
とあるので,.bashrcに以下を追記します.
# for lamtram DYNET_DIR=/Users/hoge/dynet export LD_LIBRARY_PATH="$DYNET_DIR/build/dynet:$LD_LIBRARY_PATH"
lamtramのディレクトリに戻って,
$ autoreconf -i
$ ./configure --with-dynet=/path/to/dynet --with-eigen=/path/to/eigen
$ make
apt-get
個人的にインストール非推奨です.
私事ですが,わたしはUbuntu上がりなので,apt-getがないと辛いと思ってapt-getを入れたらメンテナンスがされていないのか何なのか,installしたもののバージョンがアレで険しかったので,とりあえずapt-getを入れないという教訓を得ました.
mac os x 10.9 にfinkをinstallしてapt-get使えるようにする - Qiita
Fink - Source Release Download
からOS Xのバージョンに気を付けて fink- version No. .tar.gz
をDL,展開.
cd ~/Downloads/fink-0.39.2
./bootstrap
で,apt-getのインストール完了.