らくがき入門

機械学習を始めとしたコンピュータサイエンスを主に扱っています。

Python+jupyter環境構築(M1 mac対応)

MacへのPython+jupyter環境構築(M1 mac対応)

macにhomebrewをインストール

  • homebrewの公式ページにアクセスしてInstall Homebrewのコマンドをターミナルにコピペして実行
  • homebrewのPATHを通す(Next stepsで出てくるコマンドを実行するだけ)

"Operation not permitted"に対する対策

なぜかlsがタイトルのエラーで通らなかったので調べてみるとターミナルにアクセス権限振られてないことが問題のよう。 システム環境設定->セキュリティとプライバシー->フルディスクアクセスにターミナル(またはiTerm)を追加することで解消。

pyenvをインストールする前に

pandasをimportすると下記のエラーが出る。pyenv経由でpythonをインストールした場合に発生する模様。 pythonをインストールした後に気づいたがpythonの再インストール必要なため、pythonインストール前に対処。

UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.

対処方法はxzをインストールする。

$ bash install xz

pyenvのインストール

# pyenvのインストール
$ brew install pyenv
# zshの設定
$ echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
# pyenvのバージョン確認
$ pyenv -v
# pyenvでインストール可能なpythonのバージョン一覧の取得
$ pyenv install -l
# pythonのインストール(今回の設定では3.10.0をインストール)
$ pyenv install 3.10.0
# pyenvでインストールした環境をディレクトリ下に適用
$ pyenv local 3.10.0
# pythonのバージョン確認
$ python -v

xzをインストール後の再インストール時は下記を実施(事前にxzインストールしたときに必要になるかは未検証)

$ prefix=$(brew --prefix)
$ export LDFLAGS="-L$prefix/opt/xz/lib $LDFLAGS"
$ export CPPFLAGS="-I$prefix/opt/xz/include $CPPFLAGS"
$ export PKG_CONFIG_PATH="$prefix/opt/xz/lib/pkgconfig:$PKG_CONFIG_PATH"
$ PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.10.0 

poetryのインストール

公式ドキュメントDocumentaion->Installationの下記コマンドを実行

# poetryのインストール
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
# 現在のshellに設定を反映
source $HOME/.poetry/env

poetryを用いたpythonモジュールインストール

$ poetry init
$ poetry add jupyter jupyterlab pandas tqdm
$ poetry run jupyter lab

参考文献