如何正确的安装与使用Jupyter Notebook
导读:本文共4947字符,通常情况下阅读需要16分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、安装(命令行操作) 如果没有pip,要安装pip:安装 setuptoolscd/tmpwgethttps://pypi.python.org/packages/69/56/f0f52281b5175e3d9ca8623dadbc3b684e66350ea9e0006736194b265e99/setuptools-38.2.4.zip#md5=e8e05... ...
目录
(为您整理了一些要点),点击可以直达。一、安装(命令行操作) 如果没有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
命令行显示:
打开浏览器,输入url: localhost:8888,回车,浏览器显示:
注意:在远程服务器上部署jupyter的要把 localhost 改成对应的 ip 地址
让你用token登录,把上面命令行反馈的 token (倒数第二行)复制过来输入,登录成功:
二、配置
上述步骤创建的 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
现在假设我们的配置文件是用最后一种方式创建的,我们进入目录看看
[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等浏览器可能会提示“您的连接不是私密连接”之类的风险问题,这里选“高级” – “继续前往”就好了。
正常进入主页
点击右上角的 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的详细内容,希望对您有所帮助,信息来源于网络。