MacのPython環境を見直した

MacのPython3の開発環境を変更した時のザックリ作業メモ。変更方法やエラー対応を備忘録として残しておく。

  • 変更前の環境
    homebrew + pyenv + anaconda(conda)

  • 変更後の環境
    homebrew + venv + 個別ライブラリ


開発環境を見直した理由


  • pyenvのバージョン管理機能を使ってなかった
  • anacondaに使ってないライブラリがたくさんあった
  • なるべくシンプルな構成にしたかった
  • ネットのコピペで良くわからないまま作ってしまった環境を見直したかった

見直した理由はこんな感じ。

Pythonどころかプログラミングの経験も浅い身としては、pyenvやanacondaの機能を使いこなせていなかった。pyenvのバージョン切り替えなんて全く使ったことがなかったし…

anacondaは使ってたし、便利だと思うが、全く使ってなかったライブラリも多いので、使う時に必要なものを入れればいいと思うようになった。

pyenvがPython3.6以降の仮想環境として非推奨になったという情報も後押し。
(参考:https://docs.python.jp/3/library/venv.html




古い環境の削除

condaの削除

anacondaを使って作ることができる仮想環境condaを削除する


conda remove -n <環境名> --all


anacondaの削除

pyenvからanacondaを削除する


 #消したいバージョンを指定
pyenv uninstall anaconda3-x.x.x


pyenv自体の削除


brew uninstall pyenv


その他

ホームディレクトリに残ってるanacondaやanacondaで使ってたライブラリ関係のファイルを片っ端から削除。


venvの環境を作る

venvはvirtualenvの後継。Pythonの標準ライブラリに取り込まれた。
標準という安心感。

venvのインストールと仮想環境作成


#venvのインストール
python3 -m venv <環境名>

#仮想環境のアクティベート
source <環境名>/bin/activate

#アクティベートすると(環境名)と表示が変わる

#仮想環境内でライブラリのインストール
pip3 <ライブラリ名>

#仮想環境の無効化
deactivate



環境見直し時のエラーと対応

環境を作り直した後にJupyterをインストールした時にいくつかのエラーがでた。
Jupyter自体は普通に立ち上がったが、画面右上の方にkernel errorという表示が、、、

さらに、ターミナル上にも Failed to run command や Uncaught exception POST /api/sessions (::1) 、Unhandled error、などといった表示が現れ、けっこう長めのエラーが表示された。

その中に、'/Users/ユーザー名/.pyenv/versions/anaconda3-5.0.1/bin/python' という文字を発見。

どうやらpyenvのPathが残っている部分があるらしいことが分かったので、該当部分を探すことにした。

その結果、以下のjsonファイルに該当部分を発見。
/Users/ユーザー名/Library/Jupyter/kernels/python3/kernel.json

この中のpyenvのパス部分をvenvに書き直した。

試しにもう一度Jupyterを起動すると全てのエラーが消えた。これが良い方法かは分からないが、とりあえず解決。



今回の反省


  • 古い環境の削除方法が良くなかった可能性あり。下調べをしっかりと
  • メモをしっかりとること。後から作業を思い出そうとしても難しい
  • キャプチャとかエラーの内容とかを記録しておけば良かった…


0 件のコメント :