[anaconda]jupyter notebook 安装配置

背景

现在在公司大数据平台部从事大数据基础组件开发工作,所需要涉及的知识面非常广,其中人工智能也是后续大数据基础平台建设的重要部分,于是就花了几千块报了个人工智能的课程。这个课程有一些前置基础课程,python就是其基础课程的一门。开始学习python,教学环境用的anaconda里面的jupyter notebook,为了使自己的学习和教程有一个相同的环境,也安装了一下anaconda,方便以后学习,同时记录一下anaconda的安装过程,好记性不如烂笔头么,何况在下记忆力本来就不怎么好。发布出来,以供有需要的同学参考一下。

anaconda介绍

Anaconda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。

Miniconda包括Conda、Python。

官网:https://www.anaconda.com/

实验环境

Windows下安装的说明网上已经有很多了,现在记录一下Linux的安装配置过程。

  • CentOS-7-x86_64-Minimal-1708

安装配置

服务器上安装部署软件一般都不直接用root来启动,所以我们建立一个anaconda账号来运行anaconda程序。

[root@localhost ~]# groupadd anaconda
[root@localhost ~]# useradd -g anaconda anaconda
[root@localhost ~]# passwd anaconda

安装

下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
安装

执行命令bash Anaconda3-2018.12-Linux-x86_64.sh安装,安装过程中有软件协议条款需要确认,直接回车,在要求输入yes的地方,输入yes回车。

安装过程中可能出现一些问题,问题解决后,需要执行bash Anaconda3-2018.12-Linux-x86_64.sh -u进行覆盖安装,注意后面那个**-u**。

image

image

image

最后有提示安装VSCode,这个在Linux环境下其实是不需要的,输no跳过。

anaconda is not in the sudoers file.  This incident will be reported.
   Unable to install VSCode!
   Check /home/anaconda/anaconda3/vscode_inst.py.log for more info
   Do you wish to retry? [yes|no]
[no] >>> no

刷新环境变量

安装完成后,关闭shell窗口重新进入使环境变量生效,或者直接执行下面命令刷新环境变量。

source ~/.bashrc
验证

执行下面命令,可以看到已经安装的包。

conda list

执行结果

[anaconda@localhost ~]$ conda list
# packages in environment at /home/anaconda/anaconda3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0  
alabaster                 0.7.12                   py37_0  
anaconda                  2018.12                  py37_0  
anaconda-client           1.7.2                    py37_0  
anaconda-navigator        1.9.6                    py37_0  
anaconda-project          0.8.2                    py37_0  
......

配置jupyter notebook远程访问

生成配置文件
jupyter notebook --generate-config

执行结果

[anaconda@localhost ~]$ jupyter notebook --generate-config
Writing default config to: /home/anaconda/.jupyter/jupyter_notebook_config.py
生成密码
[anaconda@localhost ~]$ ipython
Python 3.7.1 (default, Dec 14 2018, 19:28:38) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from notebook.auth import passwd                                                                                                                                                       

In [2]: passwd()                                                                                                                                                                               
Enter password: #输入密码,后续登录时需要
Verify password: 
Out[2]: 'sha1:861412c74abe:edee4644418c13a47131e15bad270fefdd31143d'

修改配置文件

修改刚刚生成的jupyter notebook的配置文件/home/anaconda/.jupyter/jupyter_notebook_config.py,使jupyter notebook能够远程访问。

修改的配置项如下:

c.NotebookApp.ip='*' #设置访问notebook的ip,*表示所有IP,这里设置ip为都可访问
c.NotebookApp.notebook_dir = '/home/anaconda/notebook'#共享目录
c.NotebookApp.password = u'sha1:5df252f58b7f:bf65d53125bb36c085162b3780377f66d73972d1' #填写刚刚生成的密文  
c.NotebookApp.open_browser = False # 禁止notebook启动时自动打开浏览器(在linux服务器一般都是ssh命令行访问,没有图形界面的。所以,启动也没啥用)  
c.NotebookApp.port =8899 #指定访问的端口,默认是8888 
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_origin = ' '将' '改为‘*’

启动jupyter notebook

前台运行
jupyter notebook

或者

jupyter-notebook
后台运行

后台运行,并把日志输入到~/logs/jupyter.log日志文件中

nohup jupyter-notebook>/home/anaconda/logs/jupyter.log  2>&1 &

验证

在浏览器中输入jupyter notebook地址,比如我的是http://192.168.86.163:8888就进入了jupyter notebook的登录页面,输入上面设置的密码,就进入了jupyter notebook的主页了,新建一个python3的notebook,开始写代码吧。

image

image

nginx反向代理配置

开放到公网很多时候是通过域名访问,用nginx做反向代理服务,jupyter notebook由于采用了websock技术,所以在配置nginx的时候记得加下面3项配置

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";  

否则通过域名访问的时候就会报错了。

配置好后就可以直接通过域名访问了。

/etc/nginx/conf.d/jupyter.conf

upstream jupyter {   
    server 127.0.0.1:8898;
}
	
server {
	listen 80;
	server_name  jupyter.itclj.com; 
	location  ~*^.+$ {
	   proxy_pass  http://jupyter;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";        
	} 
}

遇到的问题&解决方案

问题一

./Anaconda3-2018.12-Linux-x86_64.sh: line 353: bunzip2: command not found

问题原因

anaconda安装包需要zip压缩工具,系统里面没有装。

解决方案

由于是安装基础工具,需要在root账号下执行。

yum install -y bzip2

问题二

PermissionError: [Errno 13] Permission denied: '/run/user/0/jupyter'

问题原因

原来登录系统用的root账号,然后切换到anconda账号下的,切换的时候没有带 - 参数,注意是个短横岗。导致使用的环境变量还是root账号的。

解决方案

用su切换到anaconda执行账号,su后面加-

su - anaconda

问题三

浏览器远程访问仍然访问不通。

问题原因

防火墙拦截所访问端口没有开放。

解决方案

防火墙开放8888端口。

具体参看:https://www.cnblogs.com/moxiaoan/p/5683743.html

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8888/tcp

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值