LoginSignup
30
33

More than 3 years have passed since last update.

Macにpyenv + AnacondaでPython環境作成の備忘録

Posted at

はじめに

  • Pythonをお勉強するため、Mac上にPython開発環境を整えてみたので、自分用の備忘録としてまとめました。
  • ゴールは、Anaconda(Python3系)をインストールしてJupyter Notebookで作業できるまでとしました。

動作環境

  • macOS Mojave 10.14.6

1. Homebrewのインストール

1-1. Homebrewとは

wikipedia
Mac OS X オペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつ。

  • パッケージをインストール、アンインストールできる管理システムのこと。

1-2. インストール方法

  1. Homebrewにアクセス。
  2. スクリプトをコピーし、ターミナルで実行。
  3. インストール確認。
bash
# スクリプト実行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# ログ
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
︙
==> The Xcode Command Line Tools will be installed.
# Xcode Command Line Toolsをインストールする場合は、RETURNを押下。
Press RETURN to continue or any other key to abort 
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin
# ログイン時のPasswordを入力
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin
︙
Already up-to-date.
==> Installation successful!

# インストール確認
$ brew --version
# ログ
Homebrew 2.1.9

2. pyenvのインストール

2-1. pyenvとは

  • Pythonのバージョンを管理できるコマンドラインツールのこと。

2-2. インストール方法

  1. Homebrewpyenvをインストール。
  2. インストール確認。
  3. pyenvにPathを通す。
  4. 設定(Path)の適用。
bash
# pyenvをインストール
$ brew install pyenv

# インストール確認
$ pyenv --version
# ログ
pyenv 1.2.13

# pyenvにPathを通す
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

# 設定の適用
$ source .bash_profile

3. Anacondaのインストール

3-1. Anacondaとは

wikipedia
データサイエンスおよび機械学習関連アプリケーション(大規模データ処理、予測分析(英語版)、科学計算)のためのPythonおよびRプログラミング言語のフリーでオープンソースのディストリビューションであり、パッケージ管理および展開の単純化を目指したものである。

  • 「Python」 + 「各種ライブラリ」をまとめて含んだパッケージのこと。

3-2. インストール方法

  1. pyenvでインストール可能なAnacondaを検索。
  2. Anacondaをインストール。
bash
# インストール可能なAnacondaを検索
$ pyenv install -l | grep anaconda

# ログ
anaconda-1.4.0
︙
anaconda2-5.0.0
︙
anaconda3-5.3.1

# インストール
$ pyenv install anaconda3-5.3.1

4. Anacondaで仮想環境を作成

作成方法

  1. condaで仮想環境を作成。
  2. 作成した仮想環境を作業ディレクトリで有効化(pyenv local)。
  3. activateで仮想環境を起動。
  4. Jupyter Notebookを起動。起動できればゴール。
bash
# Anacondaをglobalに切り替え
$ pyenv global anaconda3-5.3.1

# 仮想環境を作成
$ conda create --name anaconda_py3.6 python=3.6 anaconda

# 作成した仮想環境を作業用ディレクトリで有効化
$ mkdir Workspace
$ cd Workspace
$ pyenv local anaconda3-5.3.1/envs/anaconda_py3.6

# globalをsystemへ戻す
$ pyenv global system

# 作成した仮想環境をActivateで起動(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate anaconda_py3.6

# 作業ディレクトリでjupyter Notebookを起動
$ cd Workspace
$ jupyter notebook
  • Jupyter Notebookを起動できればゴール。 jupyter notebook起動.png

5. Jupyter Notebookで仮想環境を指定する

  • 作成したAnacondaの仮想環境をJupyter Notebook上で指定できるようにする。

5-1. 設定方法

  • Anacondaのデフォルト環境:base(root)でJupyter Notebookに対するパッケージ追加とその設定を行う。
bash
# パッケージの追加
$ pip install environment_kernels

# 設定ファイルの生成
$ jupyter notebook --generate-config

# 設定を追加
$ echo "c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'" >> ~/.jupyter/jupyter_notebook_config.py
$ echo "c.EnvironmentKernelSpecManager.conda_env_dirs=['/Users/toyoizumi/.pyenv/versions/anaconda3-5.3.1/envs/']" >> ~/.jupyter/jupyter_notebook_config.py
  • Jupyter Notebookを起動して、「Kernel > Change kernel」からAnacondaで作った仮想環境(今回はanaconda_py3.6)が選択できればOK。 カーネル選択.png

6. 仮想環境の切り替え方法

  • 環境の切り替えは、activatepyenv localを併用。
bash
# Activateで指定環境を起動できる(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate anaconda_py3.6

# 作業ディレクトリごとに仮想環境を指定できる
$ mkdir Workesapce
$ cd Workuspace
$ pyenv local anaconda3-5.3.1/envs/anaconda_py3.6

# Deactivateで環境を解除できる(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/deactivate anaconda_py3.7
  • activateをフルパスで実行するのは煩わしいので、aliasを設定。
bash
# .bashrcにaliasを追加
$ echo 'alias activate="source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate"' >> ~/.bashrc

# 設定の適用
$ source ~/.bashrc

# 「activate + 仮想環境名」で指定環境を起動出来る
$ activate anaconda_py3.6

# 指定環境でJupyter Notebookを起動出来る
$ jupyter notebook
30
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
33