Anaconda をベースにPython動作環境を整備
August 30, 2019 – 5:09 pmこの数カ月間、汎用プログラム言語Pythonについて学んでいる。かなり興味深いプログラム言語との印象を受けている。
これまで、Anaconda3, Jupyter Notebook を自宅に設置しているLinuxサーバ上にインストールし、そのうえでPythonの動作環境を整えようと作業を続けてきた。Webに公開されている情報をたよりに試行錯誤的に作業を続けてきたが、最近になって、かなり安定した動作を得られるようになった。
ここらで、一連のインストール作業をメモとして残しておくことにした。
なお、本ブログ上に既報の関連記事は以下:
Anaconda 仮想環境 trial_env の作成:
(base) [tsflow@localhost ~]$ conda create -n trial_env python=3.7 Solving environment: done ## Package Plan ## environment location: /home/tsflow/anaconda3/envs/trial_env added / updated specs: - python=3.7 The following NEW packages will be INSTALLED: _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main ca-certificates pkgs/main/linux-64::ca-certificates-2019.5.15-1 certifi pkgs/main/linux-64::certifi-2019.6.16-py37_1 libedit pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0 libffi pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4 libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0 libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0 ncurses pkgs/main/linux-64::ncurses-6.1-he6710b0_1 openssl pkgs/main/linux-64::openssl-1.1.1c-h7b6447c_1 pip pkgs/main/linux-64::pip-19.2.2-py37_0 python pkgs/main/linux-64::python-3.7.4-h265db76_1 readline pkgs/main/linux-64::readline-7.0-h7b6447c_5 setuptools pkgs/main/linux-64::setuptools-41.0.1-py37_0 sqlite pkgs/main/linux-64::sqlite-3.29.0-h7b6447c_0 tk pkgs/main/linux-64::tk-8.6.8-hbc83047_0 wheel pkgs/main/linux-64::wheel-0.33.4-py37_0 xz pkgs/main/linux-64::xz-5.2.4-h14c3975_4 zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3 Proceed ([y]/n)? y Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate trial_env # # To deactivate an active environment, use # # $ conda deactivate
作成済み仮想環境の確認:
(base) [tsflow@localhost ~]$ conda info -e # conda environments: # base * /home/tsflow/anaconda3 tensorflow_env /home/tsflow/anaconda3/envs/tensorflow_env trial_env /home/tsflow/anaconda3/envs/trial_env
仮想環境 trial_env の activate:
(base) [tsflow@localhost ~]$ conda activate trial_env (trial_env) [tsflow@localhost ~]$
jupyter 関連パッケージのインストール:
(trial_env) [tsflow@localhost ~]$ conda install jupyter Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/tsflow/anaconda3/envs/trial_env added / updated specs: - jupyter The following NEW packages will be INSTALLED: attrs pkgs/main/linux-64::attrs-19.1.0-py37_1 backcall pkgs/main/linux-64::backcall-0.1.0-py37_0 bleach pkgs/main/linux-64::bleach-3.1.0-py37_0 dbus pkgs/main/linux-64::dbus-1.13.6-h746ee38_0 decorator pkgs/main/linux-64::decorator-4.4.0-py37_1 defusedxml pkgs/main/noarch::defusedxml-0.6.0-py_0 entrypoints pkgs/main/linux-64::entrypoints-0.3-py37_0 expat pkgs/main/linux-64::expat-2.2.6-he6710b0_0 fontconfig pkgs/main/linux-64::fontconfig-2.13.0-h9420a91_0 freetype pkgs/main/linux-64::freetype-2.9.1-h8a8886c_1 glib pkgs/main/linux-64::glib-2.56.2-hd408876_0 gmp pkgs/main/linux-64::gmp-6.1.2-h6c8ec71_1 gst-plugins-base pkgs/main/linux-64::gst-plugins-base-1.14.0-hbbd80ab_1 gstreamer pkgs/main/linux-64::gstreamer-1.14.0-hb453b48_1 icu pkgs/main/linux-64::icu-58.2-h9c2bf20_1 ipykernel pkgs/main/linux-64::ipykernel-5.1.2-py37h39e3cac_0 ipython pkgs/main/linux-64::ipython-7.7.0-py37h39e3cac_0 ipython_genutils pkgs/main/linux-64::ipython_genutils-0.2.0-py37_0 ipywidgets pkgs/main/noarch::ipywidgets-7.5.1-py_0 jedi pkgs/main/linux-64::jedi-0.15.1-py37_0 jinja2 pkgs/main/linux-64::jinja2-2.10.1-py37_0 jpeg pkgs/main/linux-64::jpeg-9b-h024ee3a_2 jsonschema pkgs/main/linux-64::jsonschema-3.0.2-py37_0 jupyter pkgs/main/linux-64::jupyter-1.0.0-py37_7 jupyter_client pkgs/main/noarch::jupyter_client-5.3.1-py_0 jupyter_console pkgs/main/linux-64::jupyter_console-6.0.0-py37_0 jupyter_core pkgs/main/noarch::jupyter_core-4.5.0-py_0 libpng pkgs/main/linux-64::libpng-1.6.37-hbc83047_0 libsodium pkgs/main/linux-64::libsodium-1.0.16-h1bed415_0 libuuid pkgs/main/linux-64::libuuid-1.0.3-h1bed415_2 libxcb pkgs/main/linux-64::libxcb-1.13-h1bed415_1 libxml2 pkgs/main/linux-64::libxml2-2.9.9-hea5a465_1 markupsafe pkgs/main/linux-64::markupsafe-1.1.1-py37h7b6447c_0 mistune pkgs/main/linux-64::mistune-0.8.4-py37h7b6447c_0 nbconvert pkgs/main/noarch::nbconvert-5.5.0-py_0 nbformat pkgs/main/linux-64::nbformat-4.4.0-py37_0 notebook pkgs/main/linux-64::notebook-6.0.0-py37_0 pandoc pkgs/main/linux-64::pandoc-2.2.3.2-0 pandocfilters pkgs/main/linux-64::pandocfilters-1.4.2-py37_1 parso pkgs/main/noarch::parso-0.5.1-py_0 pcre pkgs/main/linux-64::pcre-8.43-he6710b0_0 pexpect pkgs/main/linux-64::pexpect-4.7.0-py37_0 pickleshare pkgs/main/linux-64::pickleshare-0.7.5-py37_0 prometheus_client pkgs/main/noarch::prometheus_client-0.7.1-py_0 prompt_toolkit pkgs/main/linux-64::prompt_toolkit-2.0.9-py37_0 ptyprocess pkgs/main/linux-64::ptyprocess-0.6.0-py37_0 pygments pkgs/main/noarch::pygments-2.4.2-py_0 pyqt pkgs/main/linux-64::pyqt-5.9.2-py37h05f1152_2 pyrsistent pkgs/main/linux-64::pyrsistent-0.14.11-py37h7b6447c_0 python-dateutil pkgs/main/linux-64::python-dateutil-2.8.0-py37_0 pyzmq pkgs/main/linux-64::pyzmq-18.1.0-py37he6710b0_0 qt pkgs/main/linux-64::qt-5.9.7-h5867ecd_1 qtconsole pkgs/main/noarch::qtconsole-4.5.4-py_0 send2trash pkgs/main/linux-64::send2trash-1.5.0-py37_0 sip pkgs/main/linux-64::sip-4.19.8-py37hf484d3e_0 six pkgs/main/linux-64::six-1.12.0-py37_0 terminado pkgs/main/linux-64::terminado-0.8.2-py37_0 testpath pkgs/main/linux-64::testpath-0.4.2-py37_0 tornado pkgs/main/linux-64::tornado-6.0.3-py37h7b6447c_0 traitlets pkgs/main/linux-64::traitlets-4.3.2-py37_0 wcwidth pkgs/main/linux-64::wcwidth-0.1.7-py37_0 webencodings pkgs/main/linux-64::webencodings-0.5.1-py37_1 widgetsnbextension pkgs/main/linux-64::widgetsnbextension-3.5.1-py37_0 zeromq pkgs/main/linux-64::zeromq-4.3.1-he6710b0_3 Proceed ([y]/n)? u^Hy Invalid choice: y Proceed ([y]/n)? y Preparing transaction: done Verifying transaction: done Executing transaction: done
jupyterlab パッケージのインストール:
(trial_env) [tsflow@localhost ~]$ conda install jupyterlab Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/tsflow/anaconda3/envs/trial_env added / updated specs: - jupyterlab The following NEW packages will be INSTALLED: json5 pkgs/main/noarch::json5-0.8.5-py_0 jupyterlab pkgs/main/linux-64::jupyterlab-1.0.2-py37hf63ae98_0 jupyterlab_server pkgs/main/noarch::jupyterlab_server-1.0.0-py_1 Proceed ([y]/n)? y Preparing transaction: done Verifying transaction: done Executing transaction: done
jupyter lab の立ち上げと Webブラウザからの接続:
jupyter lab の立ち上げ:
(trial_env) [tsflow@localhost ~]$ nohup jupyter lab >> jupyter.log 2>&1 & [1] 29147上記の形式で、jupyter lab がサーバーマシンのバックで稼働。
Webブラウザから接続:
Jupyter Notebook をLANの外から使うためのApacheの設定で記述したように、任意のリモートマシン上のWebブラウザからアクセス可能になる。
下図は、最初にアクセスした時の初期(ログイン)画面のスナップショット。(図をクリックすると拡大できる)
ここ以降の、pythonの外部パッケージのインストール作業などは、全て、Jupyter Lab上で実行することができる。