conda安裝後的配置

池魚小北發表於2019-03-22

使用conda list檢視是否安裝成功。

image_1cjus5q1g73sace1dmpe8q1lrp9.png-43.8kB

conda配置檔案

新建兩個資料夾存放東西:D:data\conda\envsD:\conda\pkgs。envs_dirs是虛擬環境的存放路徑,pkgs_dirs時包的存放路徑。 使用者目錄下.condarc常用配置

channels:
  - "'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main'"
  - "'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free'"
  - "'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro'"
  - defaults
show_channel_urls: true
envs_dirs:
  - D:\data\conda\envs
pkgs_dirs:
  - D:\data\conda\pkgs
複製程式碼

jupyter配置

執行命令

jupyter notebook --generate-config
複製程式碼

按照國際慣例,該命令會在使用者目錄下建立一個配置目錄,名字就像你猜的一樣,就是.jupyter,目錄裡會看到一個jupyter_notebook_config.py的配置檔案。

設定密碼:

執行

jupyter notebook password
複製程式碼

輸入密碼即可. 或者開啟ipython,生成sha1的密碼,如下:

from notebook.auth import passwd
passwd()
#Enter password
#output sha1:1573ff95a8c2:1efc47f1bdc25e2d98faff23eb7xxx
複製程式碼

然後生成一個自簽名認證的key,預設生成路徑在使用者目錄下,如下:

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout jkey.key -out jcert.pem
複製程式碼

主要配置項:

# 登入密碼,預設沒有密碼,所以每次啟動伺服器後都會產生一個隨機數token,配置了密碼後就不用每次使用隨機數token了
c.NotebookApp.password = 'sha1:1573ff95a8c2:1efc47f1bdc25e2d98faff23eb7xxx'

## 服務的埠,用預設的8888即可
c.NotebookApp.port = 8888

## 是否需要自動彈出瀏覽器,伺服器端一般不需要
c.NotebookApp.open_browser = False

## The directory to use for notebooks and kernels.
## 不設定的話就是啟動命令所在的目錄
c.NotebookApp.notebook_dir = 'E:\notebook'
#如果要去遠端可訪問,還要開啟ip限制(預設jupyter notebook只能本機訪問):
#如果設定成c.NotebookApp.ip = '*'報錯的話可以設定成,c.NotebookApp.ip = '0.0.0.0'
#c.NotebookApp.ip = '*'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.certfile = '/root/jcert.pem'
c.NotebookApp.keyfile = '/root/jkey.key'
複製程式碼

由於jupyter使用的8888作為預設埠,所以我需要把埠給開放並重啟防火牆。通過如下程式碼設定:

firewall-cmd --zone=public --add-port=8888/tcp --permanent
systemctl restart firewalld.service
複製程式碼

到這裡所有的安裝和基本的設定都已經完成,直接在命令列輸入:jupyter notebook.就可以使用了。

jupyter擴充套件

關聯Jupyter Notebook和conda的環境和包——“nb_conda”;Markdown生成目錄;增加核心——“ipykernel”;

conda install -y nb_conda
conda install -c conda-forge -y jupyter_contrib_nbextensions
conda install -y ipykernel # 每一個conda env都要執行才能再網頁中切換
conda install -y jupyter_nbextensions_configurator

# 程式碼補全
jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user

# 程式碼格式化
pip install yapf
複製程式碼

可以在Conda類目下對conda環境和包進行一系列操作。

image_1cjut808b1cmq1thgo221b0mlitm.png-132kB

解決Pycharm不能使用jupyter問題

jupyter_notebook_config.py加入下面配置即可

c.NotebookApp.disable_check_xsrf = True
c.NotebookApp.token = ''
複製程式碼

伺服器配置jupyter開機啟動

/etc/init.d目錄下新建一個start_jupyter.sh檔案,並且新增執行許可權。

cd /etc/init.d
touch start_jupyter.sh
touch /var/log/jupyter.log # jupyter的日誌記錄
chmod +x start_jupyter.sh
複製程式碼

start_jupyter.sh內容如下:

#!/bin/sh
#chkconfig: 2345 80 90
#description:開機自動啟動的指令碼程式
jupyter_log='/var/log/jupyter.log'
if [ ! -f ${jupyter_log}]; then
    touch ${jupyter_log}
fi
nohup jupyter notebook >> ${jupyter_log} &
複製程式碼

然後執行:

chkconfig --add start_jupyter.sh
chkconfig start_jupyter.sh on
複製程式碼

設定為開機啟動。第一次執行可以使用./start_jupyter.sh執行。

將jupyter設定成Systemctl服務

新增service檔案,內容如下,這裡注意路徑要使用自己環境上的安裝路徑

(base) [root@host ~]# cat /usr/lib/systemd/system/jupyter.service 
[Unit]           # 這個專案與此 unit 的解釋、執行服務相依性有關
Description=Jupyter Nontebook daemon

[Service]        # 這個專案與實際執行的指令引數有關
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=nohup /root/anaconda3/bin/jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py >> /var/log/jupyter.log &
WorkingDirectory=/workspace/notebook 
Restart=always
RestartSec=10

[Install]        # 這個專案說明此 unit 要掛載哪個 target 下面
WantedBy=multi-user.target
(base) [root@host ~]# 
複製程式碼

更改jupyter的主題

pip install --upgrade jupyterthemes
複製程式碼

可以用下面命令選擇要用的主題。

jt -t 主題名稱
複製程式碼

我使用的是

jt  -t oceans16 
複製程式碼

如果要恢復預設:

jt -r
複製程式碼

相關文章