LoginSignup
9
11

More than 5 years have passed since last update.

pyenv+anaconda+jupyterlab(+リモート接続許可設定)環境構築

Last updated at Posted at 2018-02-03

前提

pyenvの導入前にgitの導入を済ませておきます。
CentOS7に最新版のgitを導入してみた

pyenvの導入

【参考URL】
pyenv git

pyenv導入手順
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
source ~/.bash_profile
exec $SHELL -l

pyenv —version
# > pyenv 1.2.1-7-gf114557

最新版のanacondaを導入

pyenv install -l
pyenv install anaconda3-5.0.1
pyenv versions # 導入済みバージョンの表示
pyenv global anaconda3-5.0.1
python —version
# > Python 3.6.3 :: Anaconda, Inc.
jupyter —version
# > 4.3.0

jupyter labのリモート接続設定

最新版のanacondaを導入したらjupyter labがデフォルトで導入されていたのでjupyter labの導入は割愛。

pip install --upgrade jupyter # upgradeしておかないとうまくサーバと接続できなかった
jupyter notebook --generate-config # jupyterのconfigファイルを生成

# ipythonを起動し、下記のようにshaのパスワードを生成する
ipython
In [1]: from IPython.lib import passwd
In [2]: passwd()
# パスワードを打ち込むとハッシュ値が生成(sha1:XXXXXXX)されるので、適当なエディタにコピーしておく
~/.jupyter/jupyter_notebook_config.py
# ファイル末尾に下記を追記
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*' # 接続元のIP許可設定
c.NotebookApp.open_browser = False
c.NotebookApp.port = 9999 # 起動時のポート番号
c.NotebookApp.password = u'sha1:XXXXXXX(ハッシュ値をここに記載)'

firewalldでファイアウォールの穴あけを行う。

firewall-cmd --list-all-zone --permanent # 事前情報の確認
firewall-cmd --zone=public --add-port=9999/tcp --permanent # 9999番ポートを許可
firewall-cmd --list-all-zone --permanent # publicゾーンに9999ポートの許可設定が追加されているか確認
firewall-cmd --reload # 設定の反映

ここまでの設定で起動できるか確認しておく。
http://xx.xx.xx.xx:9999で接続してみる。

jupyterlabの設定

ホームディレクトリの設定

~/.jupyter/jupyter_notebook_config.py
# 下記部分ににパスを記述
c.NotebookApp.notebook_dir = ''

テーマの変更

目に優しいDarkに変えてみた。
File>Settings>Themeの記述を下記のように変更する。
スクリーンショット 2018-02-03 22.53.12.png

フォントの細かい配色設定は下記ファイルを編集すればよい。
/root/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/jupyterlab/themes/jupyterlab-theme-dark-extension/variables.css

variables.css
  /* Code mirror specific styles */

  --jp-mirror-editor-keyword-color: var(--md-green-500);
  --jp-mirror-editor-atom-color: var(--md-blue-300);
  --jp-mirror-editor-number-color: var(--md-green-400);
  --jp-mirror-editor-def-color: var(--md-blue-600);
  --jp-mirror-editor-variable-color: var(--md-grey-300);
  --jp-mirror-editor-variable-2-color: var(--md-grey-500);
  --jp-mirror-editor-variable-3-color: var(--md-grey-600);
  --jp-mirror-editor-punctuation-color: var(--md-blue-400);
  --jp-mirror-editor-property-color: var(--md-blue-400);
  --jp-mirror-editor-operator-color: #AA22FF;
  --jp-mirror-editor-comment-color: #408080;
  --jp-mirror-editor-string-color: #BA2121;
  --jp-mirror-editor-string-2-color: #f50;
  --jp-mirror-editor-meta-color: #AA22FF;
  --jp-mirror-editor-qualifier-color: #555;
  --jp-mirror-editor-builtin-color: var(--md-green-600);
  --jp-mirror-editor-bracket-color: #997;
  --jp-mirror-editor-tag-color: var(--md-green-700);
  --jp-mirror-editor-attribute-color: var(--md-blue-700);
  --jp-mirror-editor-header-color: var(--md-blue-500);
  --jp-mirror-editor-quote-color: var(--md-green-300);
  --jp-mirror-editor-link-color: var(--md-blue-700);
  --jp-mirror-editor-error-color: #f00;
  --jp-mirror-editor-hr-color: #999;
9
11
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
9
11