【環境構築】Macでhomebrewでpyenvでpython3系(+ pyenvでの)
概要
タイトルそのまま。
最近pcを購入時に初期化したのでpythonを入れた。
順番
- homebrewでpyenvをインストール
- pyenvで好きなpythonのバージョンをインストール
- よく使うパッケージをインストール
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に設定すればいい。