最近想把一些语言的基础重新过一遍,同时也做一做笔记,方便后面随时查询,不过呢,我感觉普通的markdown不适合我,而且不方便演示代码,所以我就打算自己搭一个jupyter notebook来进行学习。下面我主要讲解一下如何集成其他语言的内核。
jupyter本地安装
为了方便我直接使用docker了。。。
最简单的安装 docker run -d -v xiaoyou:/home/jovyan/work -e GRANT_SUDO=yes --user root -p 8887:8888 jupyter/scipy-notebook
(前面这个端口是本地端口,可以随便改,后面的是jupyter的,默认8888)
我们访问一下,可以看到,已经可以访问了,但是需要密码。
我们设置一下密码,我们进入终端 docker exec -it 容器ID /bin/bash
然后输入 jupyter notebook password
即可设置密码了。
设置权限,不设置的话,那么重启容器会报错
chmod 777 /home/jovyan/.jupyter/jupyter_notebook_config.json
设置密码完毕后我们重启docker docker restart 容器ID
重新访问,页面如下,输入我们刚才的密码就可以进入我们的页面了
默认情况下,jupyter已经集成了python环境,我们这里就跳过
注意,所有的内核可以参考这个网站来进行设置 Jupyter kernels · jupyter/jupyter Wiki (github.com)
Go环境安装
我这里使用的是 gopherdata/gophernotes: The Go kernel for Jupyter notebooks and nteract. (github.com)
首先配置go环境 参考:Ubuntu · golang/go Wiki (github.com)
# 更新安装包
sudo apt update
# 安装软件包
sudo apt install software-properties-common gpg
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F6BC817356A3D45E
sudo apt install golang-go
配置完环境后我们就可以开始安装内核了,注意,下载镜像的时候可能需要配置代理(你需要自己设置)
# 在终端中执行
export https_proxy=http://192.168.123.119:7890
export http_proxy=hhttp://192.168.123.119:7890
git config --global http.proxy 'http://192.168.123.119:7890'
git config --global https.proxy 'http://192.168.123.119:7890'
配置后代理后才能正常下载。。。
$ env GO111MODULE=on go get github.com/gopherdata/gophernotes
$ mkdir -p ~/.local/share/jupyter/kernels/gophernotes
$ cd ~/.local/share/jupyter/kernels/gophernotes
$ cp "$(go env GOPATH)"/pkg/mod/github.com/gopherdata/gophernotes@v0.7.2/kernel/* "."
$ chmod +w ./kernel.json # in case copied kernel.json has no write permission
$ sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
配置好后,我们重启容器,出现下面这个字样说明安装成功
Java环境安装
暂时用不到,先跳过
PHP环境安装
(这个目前我没有找到解决方法。。。。)
我选的是这个 Rabrennie/jupyter-php-kernel: PHP Kernel for Jupyter Notebooks (github.com)
安装PHP8.0的版本,参考: How to install/update PHP 8.0 (Debian/Ubuntu) • PHP.Watch
# 添加镜像仓库
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php8.0-common php8.0-cli -y
效果如下
然后我们还需要安装ZMQ扩展 sudo apt install php8.0-zmq
下面我们进行安装
# 安装ZMQ
apt-get install libzmq3-dev
# 安装composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
# 移动composer文件
mv composer.phar /usr/local/bin/composer
。。。。。。