2020年12月29日火曜日

CentOS 8-StreamにJupyter Labをインストールする(pipenv版)

Jupyter Labでインタラクティブなコンピューティング環境を提供する事ができます。

〇Jupyter Labの画面

インストール手順

1.pipenvのインストール
sudo dnf -y install python3

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. Jupyterのインストール
mkdir -p ~/jupyter

cd ~/jupyter

pipenv --python 3

pipenv install

pipenv install jupyterlab

pipenv install matplotlib

pipenv install pandas

mkdir -p ~/.jupyter

cat << EOF > ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.allow_remote_access = True
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8080
c.NotebookApp.token = 'jupyter'
EOF

3. selinux設定
cat << EOF > ./my-jupyterlab.te
module my-jupyterlab 1.0;

require {
        type init_t;
        type unconfined_exec_t;
        type user_home_t;
        type ephemeral_port_t;
        class tcp_socket { name_connect };
        class dir { create write read setattr rename };
        class file { append execute execute_no_trans ioctl map open read setattr create write relabelfrom rename };
        class lnk_file { getattr read };

}

#============= init_t ==============
allow init_t unconfined_exec_t:file { create execute open read };
allow init_t ephemeral_port_t:tcp_socket { name_connect };
allow init_t user_home_t:dir { create write read setattr rename };
allow init_t user_home_t:file { append execute execute_no_trans ioctl open read setattr map create write relabelfrom rename };
allow init_t user_home_t:lnk_file { getattr read };
EOF

checkmodule -M -m -o my-jupyterlab.mod my-jupyterlab.te

semodule_package -o my-jupyterlab.pp -m my-jupyterlab.mod

sudo semodule -i my-jupyterlab.pp

4. Jupyter Labをサービスとして登録
※ユーザやパスなどは適宜変更してください。
cat << EOF | sudo tee /etc/systemd/system/jupyter.service
[Unit]
Description=Jupyter
[Service]
Type=simple
ExecStart=/home/centos/jupyter/.venv/bin/jupyter-notebook
User=centos
Group=centos
WorkingDirectory=/home/centos/jupyter
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable jupyter

sudo systemctl start jupyter

5. ポート開放
firewallの8080番ポートを開けます
sudo firewall-cmd --add-port=8080/tcp --permanent

sudo firewall-cmd --reload

6. ブラウザで以下のアドレスにアクセスします。
http://<サーバ名またはIPアドレス>:8080/lab?token=jupyter

関連情報

・Jupyterに関する他の情報はこちらを参照してください。

・バージョン確認(2020/12/29時点)
jupyter --version
jupyter core : 4.7.0
jupyter-notebook : 6.1.6
qtconsole : not installed
ipython : 7.16.1
ipykernel : 5.4.2
jupyter client : 6.1.7
jupyter lab : 3.0.0
nbconvert : 6.0.7
ipywidgets : not installed
nbformat : 5.0.8
traitlets : 4.3.3

0 件のコメント:

コメントを投稿