開発環境構築手順(M1 Mac)

はじめに
こんにちはくーるぜろ(@zephel01)です。
M1 Mac 開発環境構築を行います。

M1 Macになって開発環境を構築するのが若干難しくなりました。
そこで手順などを書きたいと思います。
terminalはiterm2を使っています。
shellはzshにしました。(catalina以降はzshが標準)

目次
・homebrewのインストール
・macportsのインストール
・vimの設定
・gitのインストール
・anyenvのインストール(New)
・pyenvのインストール
・pythonのインストール
・pip でアプリインストール
・TA-Libのインストール
・機械学習

homebrewのインストール
※ARM64, x86_64の2種類をインストールします。

$ ## brew install arm64
$ arch -arm64e /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ ## brew install x86_64
$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

環境変数を追加します。
※ cat から EOFまでコピー

$ cat << 'EOF' >> ~/.zshrc
typeset -U path PATH
path=(
	/opt/homebrew/bin(N-/)
	/usr/local/bin(N-/)
	$path
)

if (( $+commands[sw_vers] )) && (( $+commands[arch] )); then
	[[ -x /usr/local/bin/brew ]] && alias brew="arch -arch x86_64 /usr/local/bin/brew"
	alias x64='exec arch -x86_64 /bin/zsh'
	alias a64='exec arch -arm64e /bin/zsh'
	switch-arch() {
		if  [[ "$(uname -m)" == arm64 ]]; then
			arch=x86_64
		elif [[ "$(uname -m)" == x86_64 ]]; then
			arch=arm64e
		fi
		exec arch -arch $arch /bin/zsh
	}
fi

setopt magic_equal_subst
EOF

zshのエラーを直します。(パーミッションの設定)

$ chmod 755 /usr/local/share/zsh/site-functions
$ chmod 755 /usr/local/share/zsh

プロファイルを読み込みます。

$ exec $SHELL -l

brew でアプリをインストールします。
※注意 x86_64 と ARM64 でインストール方法が違います。

$ brew install vim #x86_64
$ =brew install vim #arm64
$ ## awscli
$ =brew install awscli

$ ## checksum
$ brew install md5sha1sum

$ ## terminal
$ =brew install iterm2

$ ## byobu
$ =brew install byobu

$ ## editor
$ =brew install vim

$ ## clipboard extender
$ =brew install clipy

$ ## git
$ # brew install git

$ ## convert markdown to document file
$ =brew install pandoc

$ ## file downloader
$ =brew install wget

$ ## unarchiver
$ =brew install p7zip

$ ## drawing tool
$ =brew install skitch

$ ## video player
$ =brew install vlc

$ ## Chat soft
$ =brew install slack

macportsをインストールします。
※brew と同じようにアプリのインストールに使います。

$ curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.7.1.tar.bz2
$ tar xf MacPorts-2.7.1.tar.bz2

$ cd MacPorts-2.7.1/
$ ./configure
$ make
$ sudo make install

環境変数を追加します。

$ cat << 'EOF' >> ~/.zshrc
# export macports
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
export MANPATH="/opt/local/man:$MANPATH"
EOF

環境変数を読み込みます。

$ exec $SHELL -l

macportsのアップデートをします。

$ sudo port selfupdate

vimの設定をします。molokaiをインストールします。
Molokai Color Scheme for Vim

$ mkdir -p ~/.vim/colors
$ cd ~/.vim

$ git clone https://github.com/tomasr/molokai

$ mv molokai/colors/molokai.vim ~/.vim/colors/

$ cp ~/.vimrc ~/.vimrc.bak

$ cat << 'EOF' >> ~/.vimrc
syntax on
colorscheme molokai
set t_Co=256
EOF

anyenvをインストールします。

$ git clone https://github.com/anyenv/anyenv ~/.anyenv

shellの確認をします。

$ echo "$SHELL"
/bin/zsh

PATHの設定をします。

$ cat << 'EOF' >> ~/.zshrc
# export anyenv
if [ -e "$HOME/.anyenv" ]
then
  export ANYENV_ROOT="$HOME/.anyenv"
  export PATH="$ANYENV_ROOT/bin:$PATH"
  if command -v anyenv 1>/dev/null 2>&1
  then
      eval "$(anyenv init - zsh)"
  fi
fi
EOF

プロファイルを読み込みます。

$ exec $SHELL -l

anyenv pluginsをインストールします。
※以降は anyenv updateでまとめてpyenvなどがアップデートできる。

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

$ anyenv update

anyenvでインストールできるリスト

$ anyenv install --list
 Renv       #R
 crenv      #Crystal
 denv       #D
 erlenv     #Erlang
 exenv      #Elixir
 goenv      #Go
 hsenv      #Haskell
 jenv       #Java
 jlenv      #Julia
 luaenv     #Lua
 nodenv     #Node.js
 phpenv     #PHP
 plenv      #Perl
 pyenv      #Python
 rbenv      #Ruby
 sbtenv     #Sbt
 scalaenv   #Scala
 swiftenv   #Swift
 tfenv      #terraform

pyenvをインストールします。

$ anyenv install pyenv

PATHを設定します。

$ cat << 'EOF' >> ~/.zprofile
# export pyenv
export PYENV_ROOT="$HOME/.anyenv/envs/pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
EOF

$ cat << 'EOF' >> ~/.zshrc
# export pyenv
eval "$(pyenv init -)"
EOF

プロファイルを読み込みます。

$ exec $SHELL -l

pyenv で python 3.6.13 をインストールします。

$ pyenv install --list
$ arch -arch x86_64 env PATH=${PATH/\/opt\/homebrew\/bin:/} pyenv install 3.8.7
$ pyenv global 3.8.7

$ python --version
$ pip --version
$ pyenv version

各パッケージのインストールをします。
※websocket-clientの最新で不具合があるためバージョン指定でインストール。

$ pip install ccxt
$ pip install simplejson
$ pip install pybitflyer
$ pip install requests
$ pip install datetime
$ pip install websoccket-client==0.47

TA-Libのインストールをします。

$ brew install ta-lib
$ pip install ta-lib

Chromedriverのインストールをします。

$ brew install chromedriver
$ pip install selenium

機械学習するには pyenv で miniforge3-4.9.2 をインストールします。

$ pyenv install miniforge3-4.9.2
$ pyenv global miniforge3-4.9.2
$ exec $SHELL -l
$ conda create -n python3
$ conda install -n python3 tensorflow-addons -c isuruf/label/tf -c conda-forge
$ conda install -n python3 -c conda-forge notebook
$ pyenv global miniforge3-4.9.2/envs/python3
$ exec $SHELL -l

Jupyter Notebookの起動

$ mkdir jupyter
$ cd jupyter
$ jupyter notebook .


参考サイト


いいなと思ったら応援しよう!