离线环境下,该如何安装Anaconda、配置JupyterNotebook?

Jupyter Notebook是基于网页的用于交互计算的应用程序。可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍

简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中「直接」编写和运行代码,代码的运行结果也会直接在代码块下显示。喜欢记得收藏、点赞、关注。

注:文末提供技术交流方式

安装

墙裂建议通过安装Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动为你安装了Jupter Notebook,还有python中超过180个科学包及其依赖项。

本文就手把手地教大家如何在离线环境下安装Anaconda、配置Jupyter Notebook并安装一些有用的Jupyter扩展组件(jupytext、Nbextensions)

1. 环境准备

1台Linux服务器

操作系统:RedHat 6.8 或者 CentOS 7.2(只在这两个环境下测试过,没有问题,其他操作系统应该也可以)

2. 安装anaconda

2.1 准备安装包

Anaconda3-5.2.0-Linux-x86_64.sh

下载地址:https://repo.anaconda.com/archive/

2.2 添加jupyteradmin用户

以下为root用户操作

groupadd jupyter
useradd -g jupyter jupyteradmin
passwd jupyteradmin

2.3 创建/jupyter目录

mkdir -p /jupyter/data  /jupyter/log
chown -R jupyteradmin:jupyter /jupyter
chmod -R 775 /jupyter

2.4 安装anaconda

切换为 jupyteradmin 用户

su - jupyteradmin

安装Anaconda3

bash Anaconda3-5.2.0-Linux-x86_64.sh

接下来会打印许可条款,输入yes即可,还会询问是否修改安装位置,如下所示:

Anaconda3 will now be installed into this location:
/home/jupyteradmin/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/jupyteradmin/anaconda3] >>>

我这里点击ENTER,默认安装路径,盆友们也可以根据自己情况修改安装位置。

安装结束后,询问是否将Anaconda3的安装位置加入/home/jupyteradmin/.bashrc文件中的PATH环境变量,选择yes,如下所示:

Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/jupyteradmin/.bashrc ? [yes|no]
[no] >>> yes

又询问是否安装Microsoft VSCode,选择no.

Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> no

最后,千万别忘了执行下面的source命令,使.bashrc文件生效:

source .bashrc

2.5 验证anaconda是否安装成功

Linux系统自带的python版本为 2.7.x,而我们安装的Anaconda-5.2.0 对应python版本为3.6.5,因此可以通过python的版本号来判断anaconda是否安装成功。

因为我们是在jupyteradmin 用户下安装的anaconda,所以一定还要在jupyteradmin 用户下,在命令行输入python -V 。如下图所示:

[jupyteradmin@localhost ~]$ python -V
Python 3.6.5 :: Anaconda, Inc.

结果显示为Python 3.6.5 :: Anaconda, Inc.,说明Anaconda安装成功

另外,利用pip listconda list可以查看anaconda所集成的各种科学包及其版本号,其中包括 jupyter notebook相关包以及常见的python包。

[jupyteradmin@localhost ~]$ pip list
Package                            Version  
---------------------------------- ---------
alabaster                          0.7.10   
anaconda-client                    1.6.14   
anaconda-navigator                 1.8.7    
anaconda-project                   0.8.2    
asn1crypto                         0.24.0   
astroid                            1.6.3    
astropy                            3.0.2    
attrs                              18.1.0   
Babel                              2.5.3      
## 未完

3. 配置 jupyter notebook

3.1 生成密钥

进入python 命令行,输入下列命令获取密钥 :

from notebook.auth import passwd
passwd()

这里需要输入两次密码,最好是大小写字母与数字、特殊字符的组合,比如Abc1234!,注意:这个密码就是浏览器端访问jupyter的密码,一定要记住喽!

输入两次密码之后,就会生成密钥(格式为:‘sha1: 字符串’),一定记得复制该密钥,后续要加入配置文件。

3.2 生成配置文件

退出python 命令行,在终端输入jupyter notebook --generate-config,如下

[jupyteradmin@localhost ~]$ jupyter notebook --generate-config

此时会显示配置文件所在目录: /home/jupyteradmin/.jupyter/jupyter_notebook_config.py

3.3 修改配置文件

[jupyteradmin@localhost ~]$ vim /home/jupyteradmin/.jupyter/jupyter_notebook_config.py

在文件末尾添加内容

c.NotebookApp.ip = '*'  
c.NotebookApp.open_browser = False   
c.NotebookApp.port = 8888
c.NotebookApp.password = u'sha1:6f693062c956:82d4c89aacef5468d7872f5f362e5507754c76e7'   
c.ContentsManager.root_dir = '/jupyter/data'   
c.PAMAuthenticator.encoding = 'utf8'

第四行 c.NotebookApp.password参数的取值就是3.1步你所生成的密钥哦!注意 'sha1:字符串’前面还有一个u。

3.4 启动 jupyter notebook

在终端输入jupyter notebook

[jupyteradmin@localhost ~]$ jupyter notebook

输出如下:

[I 10:25:59.651 NotebookApp] Writing notebook server cookie secret to /home/jupyteradmin/.local/share/jupyter/runtime/notebook_cookie_secret
[W 10:25:59.818 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 10:25:59.847 NotebookApp] JupyterLab beta preview extension loaded from /home/jupyteradmin/anaconda3/lib/python3.6/site-packages/jupyterlab
[I 10:25:59.847 NotebookApp] JupyterLab application directory is /home/jupyteradmin/anaconda3/share/jupyter/lab
[I 10:25:59.849 NotebookApp] Serving notebooks from local directory: /jupyter/data
[I 10:25:59.850 NotebookApp] 0 active kernels
[I 10:25:59.850 NotebookApp] The Jupyter Notebook is running at:
[I 10:25:59.850 NotebookApp] http://localhost:8888/
[I 10:25:59.850 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

从倒数第三行可以看到:The Jupyter Notebook is running at: http://localhost.localdomain:8888/ 。在浏览器访问http://服务器ip:8888/,输入生成密钥时所用的密码,就可以访问jupyter notebook的页面啦!

要将jupyter notebook 在后台挂起,就执行:

nohup jupyter notebook &

这时,jupyter的运行输出结果就保存在了nohup.out文件。

3.5 其他设置

为了提升安全性,运行jupyter notebook的服务器可以做如下防火墙配置:

  • 只允许特定IP客户端访问jupyter页面。

    需要设置ip白名单控制。

  • 允许127.0.0.1(本地主机)能够连接49152~65535的端口。

服务器使用这些端口与notebook内核通信,内核通信端口是由ZeroMQ随机选择的,每个内核可能需要多个连接,因此必须有大范围的可访问端口。

  • 配置Nginx双向认证

jupyter notebook 的访问需要添加个人证书鉴权,提高平台的安全性。

4.安装 jupyter扩展组件

安装前先关闭 jupyter notebook 进程。

4.1 准备安装包

msgpack-1.0.0-cp36-cp36m-manylinux1_x86_64.whl

attrs-20.2.0-py2.py3-none-any.whl

markdown_it_py-0.5.4-py3-none-any.whl

toml-0.10.1-py2.py3-none-any.whl

jupytext-1.6.0.tar.gz

jupyter_highlight_selected_word-0.2.0-py2.py3-none-any.whl

jupyter_contrib_core-0.3.3-py2.py3-none-any.whl

jupyter_latex_envs-1.4.6.tar.gz

jupyter_nbextensions_configurator-0.4.1.tar.gz

jupyter_contrib_nbextensions-0.5.1-py2.py3-none-any.whl

ipyparallel-6.3.0-py3-none-any.whl

4.2 安装部署

使用 jupyteradmin 用户操作

4.2.1 安装Jupytext

注意下面包的安装顺序不要变,因为它们前后有依赖关系。

pip install msgpack-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
pip install attrs-20.2.0-py2.py3-none-any.whl
pip install markdown_it_py-0.5.4-py3-none-any.whl
pip install toml-0.10.1-py2.py3-none-any.whl
pip install jupytext-1.6.0.tar.gz

4.2.2 安装Nbextensions

pip install jupyter_highlight_selected_word-0.2.0-py2.py3-none-any.whl
pip install jupyter_contrib_core-0.3.3-py2.py3-none-any.whl
pip install jupyter_latex_envs-1.4.6.tar.gz
pip install jupyter_nbextensions_configurator-0.4.1.tar.gz
pip install jupyter_contrib_nbextensions-0.5.1-py2.py3-none-any.whl
jupyter contrib nbextension install --user

4.2.3 安装ipyparallel

pip install ipyparallel-6.3.0-py3-none-any.whl
ipcluster nbextension enable --user

4.2.4 重启jupyter notebook

最后,在终端输入nohup jupyter notebook &命令,重新启动jupyter notebook ,就可以在页面上看到增加了jupytext和Nbextensions的功能入口啦!撒花~

推荐文章

  • 李宏毅《机器学习》国语课程(2022)来了

  • 有人把吴恩达老师的机器学习和深度学习做成了中文版

  • 上瘾了,最近又给公司撸了一个可视化大屏(附源码)

  • 如此优雅,4款 Python 自动数据分析神器真香啊

  • 梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学

  • 年终汇总:20份可视化大屏模板,直接套用真香(文末附源码)

技术交流

欢迎转载、收藏、有所收获点赞支持一下!数据、代码可以找我获取

在这里插入图片描述

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、添加微信号:dkl88191,备注:来自CSDN
  • 方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

你可能感兴趣的:(python,linux,python,运维)