強欲で謙虚なツボツボ

趣味の読書の書の方

【環境構築】Macでhomebrewでpyenvでpython3系(+ pyenvでの)

概要

タイトルそのまま。
最近pcを購入時に初期化したのでpythonを入れた。

 

順番

  1. homebrewでpyenvをインストール
  2. pyenvで好きなpythonのバージョンをインストール
  3. よく使うパッケージをインストール

 

1. homebrewでpyenvをインストール

とりあえず、現状を確認。
2系が入ってるけど使いづらいから3系がいい。

$ python --version
Python 2.7.16
$ which python
/usr/bin/python

パスを設定。これをするととpyenvでインストールしたpythonが使える。

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

homebrewでpyenvをインストール。

$ brew install pyenv
$ pyenv -v
pyenv 2.2.2

 

2. pyenvでpythonをインストール

最新バージョンだとパッケージによってはまだ対応できてなかったりするので一応3.9にしておく。3.9がダメだったらpyenvで3.8にすればいい。

$ pyenv install 3.9.9
$ pyenv versions
* system (set by /Users/ユーザー/.pyenv/version)
  3.9.9
$ pyenv global 3.9.9
$ python --version
2.7.16 # あれ?????????

何か3.9.9になってないんだけど。
どうやらpyenvをインストールする際に自動でzshrcに追記されるものが追記できていなかった模様。

$ echo 'eval "$(pyenv init --path)"' >> ~/.zshrc $ python --version 3.9.9 # やったね!!!!!!! $ pip --version pip 21.4.4 # pipも使える

3. よく使うパッケージをインストール

とりあえずnumpy, pandas, jupyter notebookをpip install

$ pip install notebook numpy pandas
$ jupyter notebook

ここで、pythonでimport pandasを実行したらwarningが出ることがある。

/Users/ユーザー名/.pyenv/versions/3.9.9/lib/python3.9/site-packages/pandas/compat/__init__.py:124: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.warnings.warn(msg)

pyenvでpythonをインストールしているとこのwarningが出力されるということらしい。
対応方法はxzをインストール、もしくはpandasのバージョンを幾ばくか下げるといいとのこと。
ここではxsをインストールした後、pythonをインストールし直す方針を採用する。

$ brew intall xz
$ pyenv uninstall python 3.9.9
$ pyenv install python 3.9.9

出典: https://zenn.dev/grahamian/articles/f292163325653dbe2c42

 

終わり

これで終わり。
バージョンを変えたくなったらpyenvで違うバージョンをインストールしてglobalとかlocalに設定すればいい。