Python利用環境構築メモ(その3)Anacondaをインストールする

Python

Pythonの利用環境として、Anacondaを利用してみました。ライブラリをインストールする際に、普通にpipでインストールするとエラーとなって、トラブルが解消できない( こちら側のスキル的な問題!?と思うのですが・・・)場合も、Anacondaだとうまくいったりするときがあります。ということで Anaconda をインストールしてみました。その時の手順のメモです。

Anacondaのインストール

Linux版Anacondaのインストール に従ってインストールします。

以下、「anaconda」ユーザーが、ホームディレクトリにインストールすると想定します。
->ユーザー(例):anaconda
->パスワード(例):Password-OS-anaconda とする。

Linux版Anaconda のインストーラを https://www.anaconda.com/download/ からダウンロードします。このサイトのLinuxインストーラ「64-Bit (x86) Installer (544 MB)」の上で、マウスを右クリックして「リンクのアドレスをコピー」すれば、取得するインストーラーのURLを知ることができます。ここでは、以下のURLでした。

https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh

wget で取得します。

[anaconda@^ ~]$ wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
--2021-09-06 11:50:51--  https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
repo.anaconda.com (repo.anaconda.com) をDNSに問いあわせています... 104.16.130.3, 104.16.131.3, 2606:4700::6810:8203, ...
repo.anaconda.com (repo.anaconda.com)|104.16.130.3|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 570853747 (544M) [application/x-sh]
`Anaconda3-2021.05-Linux-x86_64.sh' に保存中

Anaconda3-2021.05-L 100%[===================>] 544.41M  11.5MB/s 時間 49s

2021-09-06 11:51:40 (11.2 MB/s) - `Anaconda3-2021.05-Linux-x86_64.sh' へ保存完了 [570853747/570853747]

ダウンロードしたインストーラを実行します。

[anaconda@^ ~]$ bash Anaconda3-2021.05-Linux-x86_64.sh

Welcome to Anaconda3 2021.05

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> (ENTER)
===================================
End User License Agreement - Anaconda Individual Edition
===================================

Copyright 2015-2021, Anaconda, Inc.

・・・・・
・・・・・

Last updated April 5, 2021

Do you accept the license terms? [yes|no]
[no] >>> yes

Anaconda3 will now be installed into this location:
/home/anaconda/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/anaconda/anaconda3] >>> (ENTER) ※インストールする場所を変更するときはここで入力
PREFIX=/home/anaconda/anaconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/anaconda/anaconda3

・・・・・
・・・・・
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
・・・・・
・・・・・
==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup,
   set the auto_activate_base parameter to false:

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

===========================================================================

・・・・・
・・・・・

※デフォルトではユーザーのホームディレクトリにインストールされます。特定のディレクトリにインストールしたい場合は、途中で設定します。

一旦ターミナルを終了し、再度起動すると、自動的にconda のbase環境が有効になって立ち上がります。

(base) [anaconda@^ ~]$

python の所在とバージョンを確認してみます。

(base) [anaconda@^ ~]$ which python
~/anaconda3/bin/python
(base) [anaconda@^ ~]$ python --version
Python 3.8.8

ターミナル起動時に自動的にConda のbase環境が有効にはならないように設定した後、base環境を終了します。

(base) [anaconda@^ ~]$ conda config --set auto_activate_base false
(base) [anaconda@^ ~]$ conda deactivate
[anaconda@^ ~]$

インストールが完了しました。condaを最新のものにしておきます。

[anaconda@^ ~]$ conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/anaconda/anaconda3

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.10.3               |   py38h06a4308_0         2.9 MB
    xmltodict-0.12.0           |     pyhd3eb1b0_0          13 KB
    ------------------------------------------------------------
                                           Total:         2.9 MB

The following packages will be UPDATED:

  conda                               4.10.1-py38h06a4308_1 --> 4.10.3-py38h06a4308_0

The following packages will be DOWNGRADED:

  xmltodict                                     0.12.0-py_0 --> 0.12.0-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
conda-4.10.3         | 2.9 MB    | ##################################### | 100%
xmltodict-0.12.0     | 13 KB     | ##################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Anaconda仮想環境の作成

現在の環境を確認します。base環境のみです。

[anaconda@^ ~]$ conda info -e
# conda environments:
#
base                  *  /home/anaconda/anaconda3

base環境を起動し、終了してみます。

[anaconda@^ ~]$ conda activate
(base) [anaconda@^ ~]$ conda deactivate
[anaconda@^ ~]$

仮想環境 env1 を作成します。
-> 作成する仮想環境のpythonのバージョン(例):python3.9 とします。

[anaconda@^ ~]$ conda create -n env1 python=3.9
Collecting package metadata (current_repodata.json): done
Solving environment: done


## Package Plan ##

  environment location: /home/anaconda/anaconda3/envs/env1

  added / updated specs:
    - python=3.9


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _openmp_mutex-4.5          |            1_gnu          22 KB
    ca-certificates-2021.7.5   |       h06a4308_1         113 KB
    certifi-2021.5.30          |   py39h06a4308_0         139 KB
    ld_impl_linux-64-2.35.1    |       h7274673_9         586 KB
    libgcc-ng-9.3.0            |      h5101ec6_17         4.8 MB
    libgomp-9.3.0              |      h5101ec6_17         311 KB
    libstdcxx-ng-9.3.0         |      hd4cf53a_17         3.1 MB
    openssl-1.1.1l             |       h7f8727e_0         2.5 MB
    pip-21.2.4                 |   py37h06a4308_0         1.8 MB
    python-3.9.6               |       h12debd9_1        18.4 MB
    setuptools-52.0.0          |   py39h06a4308_0         724 KB
    sqlite-3.36.0              |       hc218d9a_0         990 KB
    tzdata-2021a               |       h5d7bf9c_0         111 KB
    wheel-0.37.0               |     pyhd3eb1b0_1          33 KB
    ------------------------------------------------------------
                                           Total:        33.6 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
  ca-certificates    pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
  certifi            pkgs/main/linux-64::certifi-2021.5.30-py39h06a4308_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
  libgomp            pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.1.1l-h7f8727e_0
  pip                pkgs/main/linux-64::pip-21.2.4-py37h06a4308_0
  python             pkgs/main/linux-64::python-3.9.6-h12debd9_1
  readline           pkgs/main/linux-64::readline-8.1-h27cfd23_0
  setuptools         pkgs/main/linux-64::setuptools-52.0.0-py39h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  tzdata             pkgs/main/noarch::tzdata-2021a-h5d7bf9c_0
  wheel              pkgs/main/noarch::wheel-0.37.0-pyhd3eb1b0_1
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3


Proceed ([y]/n)? y


Downloading and Extracting Packages
sqlite-3.36.0        | 990 KB    | ##################################### | 100%
setuptools-52.0.0    | 724 KB    | ##################################### | 100%
openssl-1.1.1l       | 2.5 MB    | ##################################### | 100%
certifi-2021.5.30    | 139 KB    | ##################################### | 100%
libgcc-ng-9.3.0      | 4.8 MB    | ##################################### | 100%
wheel-0.37.0         | 33 KB     | ##################################### | 100%
tzdata-2021a         | 111 KB    | ##################################### | 100%
libstdcxx-ng-9.3.0   | 3.1 MB    | ##################################### | 100%
ca-certificates-2021 | 113 KB    | ##################################### | 100%
libgomp-9.3.0        | 311 KB    | ##################################### | 100%
ld_impl_linux-64-2.3 | 586 KB    | ##################################### | 100%
_openmp_mutex-4.5    | 22 KB     | ##################################### | 100%
python-3.9.6         | 18.4 MB   | ##################################### | 100%
pip-21.2.4           | 1.8 MB    | ##################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate env1
#
# To deactivate an active environment, use
#
#     $ conda deactivate

[anaconda@^ ~]$

仮想環境 env1 を起動し、python のバージョン等を確認します。

# 仮想環境の確認
[anaconda@^ ~]$ conda info -e
# conda environments:
#
base                  *  /home/anaconda/anaconda3
env1                     /home/anaconda/anaconda3/envs/env1

# 仮想環境 env1 の起動
[anaconda@^ ~]$ conda activate env1

# pythonバージョン確認
(env1) [anaconda@^ ~]$ python --version
Python 3.9.6

# python所在確認
(env1) [anaconda@^ ~]$ which python
~/anaconda3/envs/env1/bin/python

# 仮想環境内のパッケージを確認
(env1) [anaconda@^ ~]$ conda list
# packages in environment at /home/anaconda/anaconda3/envs/env1:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
_openmp_mutex             4.5                       1_gnu
ca-certificates           2021.7.5             h06a4308_1
certifi                   2021.5.30        py39h06a4308_0
ld_impl_linux-64          2.35.1               h7274673_9
libffi                    3.3                  he6710b0_2
libgcc-ng                 9.3.0               h5101ec6_17
libgomp                   9.3.0               h5101ec6_17
libstdcxx-ng              9.3.0               hd4cf53a_17
ncurses                   6.2                  he6710b0_1
openssl                   1.1.1l               h7f8727e_0
pip                       21.2.4           py37h06a4308_0
python                    3.9.6                h12debd9_1
readline                  8.1                  h27cfd23_0
setuptools                52.0.0           py39h06a4308_0
sqlite                    3.36.0               hc218d9a_0
tk                        8.6.10               hbc83047_0
tzdata                    2021a                h5d7bf9c_0
wheel                     0.37.0             pyhd3eb1b0_1
xz                        5.2.5                h7b6447c_0
zlib                      1.2.11               h7b6447c_3

(env1) [anaconda@^ ~]$

jupyter lab の設定と起動

anaconda の base環境には、jupyter lab が既にインストール済みです。設定ファイルを作成して、パスワードの登録、内容の修正等を行えば、jupyter lab を起動することができます。修正内容は前回と同じです。
-> jupyter lab のパスワード(例):Password-Jlab-anaconda とします。

# base環境へ切替
(env1) [anaconda@^ ~]$ conda activate

# jupyterの存在確認(バージョン確認)
(base) [anaconda@^ ~]$ jupyter --version
jupyter core     : 4.7.1
jupyter-notebook : 6.3.0
qtconsole        : 5.0.3
ipython          : 7.22.0
ipykernel        : 5.3.4
jupyter client   : 6.1.12
jupyter lab      : 3.0.14
nbconvert        : 6.0.7
ipywidgets       : 7.6.3
nbformat         : 5.1.3
traitlets        : 5.0.5

# 設定ファイルの作成
(base) [anaconda@^ ~]$ jupyter lab --generate-config
Writing default config to: /home/anaconda/.jupyter/jupyter_lab_config.py

# ハッシュ化したパスワードを生成
(base) [anaconda@^ ~]$ jupyter lab password
Enter password:   Password-Jlab-anaconda
Verify password:  Password-Jlab-anaconda
[JupyterPasswordApp] Wrote hashed password to /home/anaconda/.jupyter/jupyter_server_config.json

# パスワードを確認(コピーしておく)
(base) [anaconda@^ ~]$ vi /home/anaconda/.jupyter/jupyter_server_config.json
---------------------------------------------------------------------
{
  "ServerApp": {
    "password": "sha1:cbda2b2e3481:03e9a46b01f28d21eaf1e38f47ec7107..."
  }
}
---------------------------------------------------------------------

# 設定ファイルの書き換え
(base) [anaconda@^ ~]$ vi .jupyter/jupyter_lab_config.py
--------------------------------------------------
c.ServerApp.ip = 'localhost'               # コメントアウトを外す
c.ServerApp.open_browser = False           #  同
c.ServerApp.port = 9999                    # c.ServerApp.port = 0
c.ServerApp.token = ''                     # c.ServerApp.token = '<generated>'
c.ServerApp.password = 'sha1:cbda2b2e3481:03e9a46b01f28d21eaf1e38f47ec7107...'
--------------------------------------------------

設定は完了しました。
予め jupyter lab の作業場所(workspace)を作成しておきます。

(base) [anaconda@^ ~]$ mkdir workspace

Windows PowerShell から jupyter を起動します。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

# ssh接続し、パスワードを入力
PS C:\Users\user> ssh -p 50000 -L 9999:localhost:9999 anaconda@example.net
anaconda@example.net's password:  Password-OS-anaconda

SAKURA internet [Virtual Private Server SERVICE]

Last login: Sat Sep 11 18:36:28 2021 from 198.51.100.1

# workspaceディレクトリへ移動
[anaconda@^ ~]$ cd workspace

# base環境有効化
[anaconda@^ workspace]$ conda activate

# jupyter lab 起動
(base) [anaconda@^ workspace]$ jupyter lab
[I 2021-09-11 21:27:08.440 ServerApp] jupyterlab | extension was successfully linked.
[I 2021-09-11 21:27:08.451 ServerApp] ノートブックサーバは cookie secret を /home/anaconda/.local/share/jupyter/runtime/jupyter_cookie_secret に書き込みます
[I 2021-09-11 21:27:08.765 ServerApp] nbclassic | extension was successfully linked.
[I 2021-09-11 21:27:08.832 LabApp] JupyterLab extension loaded from /home/anaconda/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 2021-09-11 21:27:08.833 LabApp] JupyterLab application directory is /home/anaconda/anaconda3/share/jupyter/lab
[I 2021-09-11 21:27:08.836 ServerApp] jupyterlab | extension was successfully loaded.
[I 2021-09-11 21:27:08.842 ServerApp] nbclassic | extension was successfully loaded.
[I 2021-09-11 21:27:08.842 ServerApp] ローカルディレクトリからノートブックをサーブ: /home/anaconda/workspace
[I 2021-09-11 21:27:08.842 ServerApp] Jupyter Server 1.4.1 is running at:
[I 2021-09-11 21:27:08.842 ServerApp] http://localhost:9999/lab
[I 2021-09-11 21:27:08.842 ServerApp]  or http://127.0.0.1:9999/lab
[I 2021-09-11 21:27:08.842 ServerApp] サーバを停止し全てのカーネルをシャットダウンするには Control-C を使って下さい(確認をスキップするには2回)。
[W 2021-09-11 21:27:08.845 ServerApp] ウェブブラウザが見つかりません: could not locate runnable browser

PCのブラウザから、http://localhost:9999/lab へアクセスします。

パスワード(ここでは、Password-Jlab-anaconda)を入力して、ログインします。

[1] : import sys
      sys.version
[1] : '3.8.8 (default, Apr 13 2021, 19:58:26) \n[GCC 7.3.0]'
[2] : sys.executable
[2] : '/home/anaconda/anaconda3/bin/python'

python3.8 が起動していることが確認できました。

Kernelの追加

仮想環境 env1 をカーネルに追加してみます。仮想環境 env1 を有効にし、jupyter lab をインストールした後、カーネルに追加します。以上の手続きは(その2)と同じです。

# 仮想環境 env1 の起動
(base) [anaconda@^ ~]$ conda activate env1

# jupyter lab インストール
(env1) [anaconda@^ ~]$ conda install jupyterlab
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/anaconda/anaconda3/envs/env1

  added / updated specs:
    - jupyterlab

The following packages will be downloaded:
・・・・・
・・・・・

Proceed ([y]/n)? y
・・・・・
・・・・・

# 仮想環境 env1 をカーネルに追加
(env1) [anaconda@^ ~]$ ipython kernel install --user --name=env1 --display-name=python39-env1
Installed kernelspec env1 in /home/anaconda/.local/share/jupyter/kernels/env1

# 利用できるカーネルを確認
(env1) [anaconda@^ ~]$ jupyter kernelspec list
Available kernels:
  env1       /home/anaconda/.local/share/jupyter/kernels/env1
  python3    /home/anaconda/anaconda3/envs/env1/share/jupyter/kernels/python3

再びローカルPC から env1 環境で jupyter lab を起動し、ブラウザで確認してみます。
メニュー kernel タグの「Change Kernel…」項を選択すると、Kernel が追加されていることがわかります。’Python3′ は jupyter を立ち上げた環境(ここではenv1)となるので、ここではどちらを選んでも env1環境(python3.9)となります。

参考

Linux版Anacondaのインストール



タイトルとURLをコピーしました