Anaconda + Jupyterによる環境構築

1: Anacondaを活用したPythonの環境をインストール

  1. Anacondaのサイトにアクセスし,自分の環境OSからインストールファイルをダウンロード
    インストーラはこちらにあるので,このページにアクセスし,ずっと下に降りると,下図のような場所が現れる
    なので,自分の環境にあわせて,インストーラをダウンロードする

  2. ダウンロード後は,インストーラを起動し,インストーラに従ってインストールを開始する.

Anaconda のインストーラサイトはこちらのURL

2: インストーラでの設定

  • 今回は,Windowsを用いて説明.
    Mac OS, Linuxも同じ手順で行う.

  • インストールタイプは,Just Meが望ましい.

  • 各自で設定するインストールについては,
    デフォルトの場所を利用すると,設定や再インストール,確認,理解などにおいて,多くの弊害がある.
    そのため,インストールの場所は,各自わかりやすい場所を設定し,インストールするとわかりやすくなるし,ライブラリのインストールも見やすくなるので,おすすめする

3: Pathの設定を行うか,の確認

Pathは,仮想環境などの設定などにも影響する.

なので,両方のチェックを外すほうがよいと個人的には思います.

Windowsは,インストールされると,Anaconda Promptが設定されるので,Anaconda に関連する設定(conda install, conda Updateなど)はすべて,Anaconda Promptで行うのが,設定もわかりやすい

4: 導入したAnaconda のアップデート

  1. Windowsメニューから,"Anaconda Prompt"を管理者モードで選択
    (右クリックでメニューが現れる)

  2. Anaconda Promptを起動して,まずは以下のコマンドで,環境の最新化を行う
    > conda update --all

  3. Anaconda で,講義用(作業用)の仮想環境を作る
    (今回の環境名をimagepy37 ,Python のバージョンを 3.7 とする)
    > conda create -n imagepy37 python=3.7

    構築された環境は,以下のコマンドで確認
    > conda info -e

5. 仮想環境を有効にするため, 以下のコマンド
> conda activate imagepy37

conda info -e で,有効になっている環境が,選択された環境になっていることを確認

仮想環境はなぜ必要?

PythonやRにおけるライブラリは,多くの有志が開発しています.
そのため,ライブラリの環境が十分でない場合などもあります.
まずは,テスト環境などを用意して,その環境上でちゃんと挙動するのか,などを十分に確認して,ソースコードを構成することが大事です.

Dockerも,同じように考慮されています.
以下に,現状の環境をコピーして再利用できる環境構築の方法を示してますので,是非参考にしてください
Pythonの仮想環境を構築する

ライブラリのインストールにおける注意

ライブラリインストールの方法として,conda,pipの方法がある
この2者はインストール方法が異なるので,できるだけ,ライブラリのインストールは,conda cloud などで統一するのが良い

pipの場合,pipとpip3がある場合がある.
前者は主に,Python2.x系,後者はPython3.x系となる.
Python2.xはレガシー(旧タイプのライブラリ), Python3.xは現在開発進行であるため,ライブラリの環境を混ぜると,動作しない場合がある.

そのため,conda でライブラリをできるだけ,整えるのが望ましい.
ライブラリは,以下のサイトから探すのが望ましいだろう
Anaconda cloud

5: Jupyterの設定

Anaconda cloudから,Jupyter labをインストールする

  1. まずは,以下のコマンドを実行してみる.入っていなければ,Jupyter labからインストールする
    > jupyter notebook
    実行ができれば,Webブラウザが開く
    インストールされてなければ,not foundと出る

  2. 1.が入っていなければ,以下を実行し,Jupyter-core, jupyter lab を入れる
    > conda install -c conda-forge jupyter_core
    > conda install -c conda-forge jupyterlab

    再度,仮想環境上のTerminal 上で,Jupyter --versionのコマンドを実行する
    インストールされていなければ,右図上ように,インストールされていれば,
    右図下のバージョンが提示される


  1. インストールされていることを確認したら,Terminalで目的の場所までcd コマンドで移動
    > cd pathtocode/ (<−目的の場所のフォルダの位置をpathtocodeとした)

    以下のコマンドをTerminal上で実行
    > jupyter notebook
    もしくは
    > jupyter lab

    起動すると,Webブラウザ上で,以下の画面が起動される.

jupyter notebook, jupyter labがインストールされてなければ,
以下のようにnot installedと出る

jupyter notebook, jupyter labがインストールされていれば,
以下のようにnot installedと出る

6: Jupyter でのインライン実行

Jupyter でのコードの実行については,以下の画像を参考に


  • コードは,直接入力する

  • 改行はそのままEnter-Keyで

  • 実行は,Shift + Enterで実行する

  • 変数をそのままShift + Enterすることで,値が明示できる

7: anaconda で仮想環境を切り替えたい!どうする?

Pythonのバージョンは,3.x以降,いろいろなバージョンがあり,ライブラリが異なる場合があります.

そんなとき,一時的に作成して確認を行うための環境を「仮想環境」と言います.

講義・個人用など,自分の用途にあわせて仮想環境を変更することをおすすめします.


仮想環境の作成の基本となるコマンド

> conda create -n (仮想環境名) python = (pythonのversion)

  • 仮想環境名:適当にわかりやすい名前を英数字で

  • pythonのversion:python のバージョン たとえば.3.7とか3.8などです

例: 仮想環境をtest37,pythonのバージョンを3.7として

> conda create -n test37 python=3.7

  • 仮想環境名はわかりやすい名前がいいので,名前にpythonのバージョンを示すような数値をおくと,そのバージョンに従ってライブラリのインストールも楽になります.

  • 私の場合,名前を決定し,その後ろにversionでピリオドを取っ払って数値を命名するなどをしてます.

 

  1. 仮想環境の確認

    1. まずは,ターミナルを起動してください

  • windowsは,Windowsメニューー>(ここに入力してください)の入力欄に,anaconda Promptを途中までタイプ 

  • 候補から「Anaconda Prompt」がでてくるので,選択し,起動します.

    1. 次のコマンドで作成した仮想環境のリストが出てきます

> conda info -e 

  1. 仮想環境を利用する

1.と同じターミナル上で,仮想環境のリストを確認し,利用した仮想環境に以下のコマンドで入ります.

  > conda activate (利用したい仮想環境)

   再度,仮想環境のリストを表示し,利用した仮想環境の前に,マークがあれば,今はその環境で作業準備が整った,ということになります.

  1. 仮想環境から退室

同じターミナル上,で以下をタイプします.

  > conda deactivate

これにより,退出できますので,conda info -e をターミナル上でタイプして,環境から出ていることを確認してください.  ​

8: Jupyter で仮想環境を切り替えたい!どうする?

Pythonでは,上記の仮想環境の違いごとに様々な内容を実行していきます.

仮想環境を毎回切り替えるたびに,Jupyterを起動し直す...はかなり大変です.

Jupyterの環境上で仮想環境を切り替える設定をしておくと,とても便利ですので,やってみましょう.


なお,今回は,Jupyter Lab, Jupyter Notebookで,上記で作成したpythonの仮想環境を切り替えることを想定してます. 

仮想環境の作成pythonのインストールをanacondaで行っていることを前提条件として,以下の構文で作成できます.

こちらでは,その環境をどのように作成するか,そしてどうやって設定するかを示します.

  1. 仮想環境の確認

    1. まずは,ターミナルを起動してください 

      • windowsは,Windowsメニューー>(ここに入力してください)の入力欄に,anaconda Promptを途中までタイプ 

      • ー>候補から「Anaconda Prompt」がでてくるので,選択し,起動します.

    2. その後,ターミナル上で以下をタイプしてください

> conda info -e

このコマンドで作成した仮想環境のリストが出てきます.

    1. 仮想環境リストのとなりに,環境が置かれている場所があります.この環境の置かれている場所の環境名の前まで,共通しているPath名があります.このPath をメモしていてください.

(OS問わず,anacondaをインストールした場所+envs だと思います)

  1. まずは,ベース(もともとの,どこの仮想環境にも属していない)の環境に移動します.

> conda deactivate

  1. 自分のhome フォルダ (デイレクトリ)場所で,以下のコマンドで,jupyter_notebook_config.py のファイルが存在するのかを確認し,なければ作成します.

      • Windowsなら以下のコマンドになります:

まずはC:に移動

> C:

目的のフォルダの場所まで移動

> cd User/username/.jupyter

ファイルがあるかを一覧から確認

> dir

      • Mac OS, Linuxなら以下のコマンド

ファイルが存在するかを確認 > ls ~/.jupyter/


目的のファイル, jupyter_notebook_config.pyが存在していないのであれば,以下をタイプ.

> jupyter notebook --generate-config

存在していて,上記をタイプし,実行すると,元のデフォルト状態へ上書きするかを聞かれるので,Y:はい,N:いいえのどちらかを選択


  1. この環境(base)で,以下,Jupyter上で,カーネル環境の切り替えを行う環境をインストールします

> pip install environment_kernels
このコマンドでenvironment_kernelsをインストールし,Jupyter上でカーネルの切り替えが行えるようになります.
環境を構築し,5.のenvsに追記されている仮想環境に存在するなら仮想環境を切り替えることができます.

  1. エディタで4.で作成したファイルを開き,最後の行に以下の内容を追加
    (
    修正:2021/09/014: 2行目の「c.EnvironmentKernelSpecManager.」について env_dirだとroot環境を読み込むので,envの前に[conda_]を付けるようにしてください)

c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'

c.EnvironmentKernelSpecManager.conda_env_dirs=['<envsが保存されている場所を絶対パスで>']
#c.EnvironmentKernelSpecManager.env_dirs=['<envsが保存されている場所を絶対パスで>']


  1. すでに作成された仮想環境がある場合,使いたい環境ごとに,以下を入れる
    >
    conda install -c conda-forge jupyterlab

  2. 新たな仮想環境を追加したい場合は,以下で
    conda create -n <仮想環境名> python=<バージョン番号> jupyterlab
    新規で作成すると,6.で追加した,environment_kernelはいらないです.

  ipykernelを使うことで,カーネルが追加されるとあるが,実際はしなくても,追加されている
  この違いはまだ良くわかっていないです

  1. Jupyter Notebook/Labを再起動

  2. メニューの「カーネル」から「カーネルの変更」で仮想環境が追加されていることを確認する
    「conda_<仮想環境名前>」で追加されている

Jupyter notebookの起動

Jupyter labの起動