如何正确的安装与使用Jupyter Notebook(jupyter,notebook,开发技术)

时间:2024-05-05 16:01:32 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

一、安装(命令行操作) 如果没有pip,要安装pip:

安装 setuptools

cd/tmpwgethttps://pypi.python.org/packages/69/56/f0f52281b5175e3d9ca8623dadbc3b684e66350ea9e0006736194b265e99/setuptools-38.2.4.zip#md5=e8e05d4f8162c9341e1089c80f742f64#具体下载地址可能变更,请参见官网:https://pypi.python.org/pypi/setuptools#downloadsunzipsetuptools-38.2.4.zip#我下载的是.zip源码,所以用unzip解压cdsetuptools-38.2.4/pythonsetup.pyinstall

再安装 pip

cd/tmpwgethttps://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9#同样,具体下载地址参考:https://pypi.python.org/pypi/pip#downloadstarzxvfpip-9.0.1.tar.gz#解压cdpip-9.0.1/pythonsetup.pyinstall

安装 jupyter notebook

如果想用 python2:

python-mpipinstall--upgradepippython-mpipinstalljupyter

如果报错:

………………………………
error: command 'gcc' failed with exit status 1

试试:

sudoyuminstallgccgcc-c++python-devel

再运行

如果想用 python3:

python3-mpipinstall--upgradepippython3-mpipinstalljupyter

安装完测试一下好不好用:

若jupyter 部署在远程服务器上,服务器防火墙开启时,端口可能不能访问,所以加一步端口开放

firewall-cmd--zone=public--add-port=8888/tcp--permanentsuccesssystemctlrestartfirewalld.service

注意:如果是腾讯云等云服务器,可能需要上官网管理平台,手动配置安全组开放端口才行
然后启动 jupyter

jupyternotebook--ip=*#root下换成:jupyternotebook--ip=*--allow-root

命令行显示:

如何正确的安装与使用Jupyter Notebook

打开浏览器,输入url: localhost:8888,回车,浏览器显示:
注意:在远程服务器上部署jupyter的要把 localhost 改成对应的 ip 地址

如何正确的安装与使用Jupyter Notebook

让你用token登录,把上面命令行反馈的 token (倒数第二行)复制过来输入,登录成功:

如何正确的安装与使用Jupyter Notebook

二、配置

上述步骤创建的 jupyter notebook 是临时性的,没有配置密码、SSL、工作目录等等,不方便也不安全。下面为需要的用户建立专属的配置。

注意:下文中的例子在 root 账户下进行,建议实际不要用 root 用户。

配置文件生成

如果服务器上你的账户下已有默认 jupyter 用户(的配置文件),可以直接拷贝一份,改个名字,比如:

cd/root/.jupytercpjupyter_notebook_config.pyjupyter_my_config.py

或者,直接自己找个任意目录,比如 /root/my_configs,直接创建一个新文件作为配置文件(反正就是个文本文件,放哪里都行):

mkdir/root/my_configscd/root/my_configstouchjupyter_notebook_config.py

再或者,账户下未建立默认 jupyter 配置文件的情况下,可以自动生成:

jupyternotebook--generate-config

如何正确的安装与使用Jupyter Notebook

现在假设我们的配置文件是用最后一种方式创建的,我们进入目录看看

[root@VM_157_11_centos~]#cd/root/.jupyter/[root@VM_157_11_centos.jupyter]#lsjupyter_notebook_config.py[root@VM_157_11_centos.jupyter]#

配置文件编辑

打开 jupyter_notebook_config.py 文件:

vimjupyter_notebook_config.py

可以看到全是注释的配置说明,比较复杂,也不是都用得上,这里我们自己写一些重要的配置即可,在文件开头写入:

c=get_config()c.IPKernelApp.pylab="inline"c.NotebookApp.ip="*"c.NotebookAPp.open_browser=Falsec.NotebookApp.password='sha1:b39d2445079f:9b9ab99f65150e113265cb99a841a6403aa52647'c.NotebookApp.certfile=u'/root/.jupyter/mycert.pem'c.NotebookApp.port=8888c.NotebookApp.notebook_dir="/root/ipython"

注意1:第五行 password 填入的是<登录密码的 sha1 加密版>,通过以下方式生成:

[root@VM_157_11_centos.jupyter]#pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>fromIPython.libimportpasswd>>>passwd()Enterpassword:Verifypassword:'sha1:175e8efe8974:eacef02a2e3f959d6efdf6c93d142c7f4712f5cc'>>>exit()[root@VM_157_11_centos.jupyter]#

注意2:第六行的 certfile 证书文件可以通过下面这行命令生成(中间的交互信息可以随便填),注意路径要对应上:

opensslreq-x509-nodes-days365-newkeyrsa:1024-keyoutmycert.pem-outmycert.pem

注意3:第七行的 port 应该是一个未被占用的、被防火墙允许的端口(在上面的步骤我们已经打开了 8888 端口),这里再强调一遍(同样的,腾讯云等服务器需要在官网修改安全策略):

firewall-cmd--zone=public--add-port=8888/tcp--permanentsuccess#系统反馈信息systemctlrestartfirewalld.service

注意4:第八行的 notebook_dir 是你的文档目录,需要自行选择并创建(否则运行时会报错):

mkdir/root/ipython

运行

[root@VM_157_11_centos.jupyter]#jupyternotebook--configjupyter_notebook_config.py--allow-root[I19:58:54.278NotebookApp]Servingnotebooksfromlocaldirectory:/root/ipython[I19:58:54.279NotebookApp]0activekernels[I19:58:54.279NotebookApp]TheJupyterNotebookisrunningat:[I19:58:54.279NotebookApp]https://[allipaddressesonyoursystem]:8888/[I19:58:54.279NotebookApp]UseControl-Ctostopthisserverandshutdownallkernels(twicetoskipconfirmation).[W19:58:54.279NotebookApp]Nowebbrowserfound:couldnotlocaterunnablebrowser.

关于参数:–config 是可选的,默认会用 jupyter_notebook_config.py 文件,如果有多个用户配置文件(给多个用户分别提供 jupyter notebook),就必须要用这个命令了。–allow-root 是 root 用户启动 jupyter notebook 时的必须参数,实际上不建议使用 root 启动 jupyter notebook,最好还是用其他用户启动,这样在 浏览器端 cmd 窗口就不至于直接暴露 root 权限。
后台运行: 实际使用的时候我们当然会让 jupyter notebook 在后台一直运行着,即使我断开 ssh 连接之后也要可以通过浏览器访问。那也简单,用 nohup 命令就可以了:

nohupjupyternotebook--configjupyter_notebook_config.py--allow-root2>&1>my.log&

用该命令启动 jupyter notebook 之后,原先打印在屏幕上行的日志会写入到 my.log 文本文件中(该文件路径可以替换,当然完全不想要日志的话也可以重定向到 /dev/null)。

浏览器端访问

浏览器端的 url:https://localhost:8888
注意:localhost 可以替换成 ip/域名; https:// 不能丢,否则你会在服务器日志上看到下面的错误:

[W 20:39:48.439 NotebookApp] SSL Error on 10 ('58.59.67.94', 61845): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:579)
[W 20:39:49.869 NotebookApp] SSL Error on 10 ('58.59.67.94', 61849): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:579)

再注意:由于我们生成的 SSL 证书是非正式签发的,所以Chrome等浏览器可能会提示“您的连接不是私密连接”之类的风险问题,这里选“高级” – “继续前往”就好了。

正常进入主页

如何正确的安装与使用Jupyter Notebook

点击右上角的 New 就可以创建 notebook 文件,然后交互式的写程序了~

三、增加 python3 内核

在主页中,我们可以 单击 New 然后创建 python 2 和 python 3 的 notebook 文件,但是实际上默认只有一个 python 2 的内核(上面用 python 2 安装的 jupyter),New 出来的 python 3 notebook 实际上还是 python 2 的,运行一下 “print 123”,不会报错(python 3 需要 print(123) )。
已有 python 2,安装 python 3内核:

python-mipykernelinstall--userpython3-mpipinstall-Uipykernelpython3-mipykernelinstall--user

这个时候再去主页,选择 python 3 时就可以用 python 3 的 kernel 了。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:如何正确的安装与使用Jupyter Notebook的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Node.js如何搭建Web服务器下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18