[success]jupyter notebook是一个基于web端的IDE,里面可以执行40多种语言,同时很多深度学习都是用这个来开发的,所以我就打算用这个来学习python,因为之前是打算在linux上开发的,所以我就打算在虚拟机内安装jupyter,然后在我直接用浏览器去访问。这里我使用的是Ubuntu19.04,下面会讲一下这个操作系统换源和安装python3.7的教程。[/success]
首先在安装完Ubuntu19.04后我们是需要换源的,这里直接给大家一个脚本,直接运行可以自动换源。目前好像没有19.04的源,所以我就不换了(下面是代码,大家只需要保存为.sh后缀然后到Ubuntu里面输入sh 你的文件名
即可)
#!/bin/sh
echo "*********************************"
sudo echo "选择安装系统:"
echo " 14.04 请输入 1"
echo " 16.04 请输入 2"
echo " 18.04 请输入 3"
echo "*********************************"
read SystemIndex
if [ -z $SystemIndex ];then
echo "输入格式错误"
exit
else
index=`echo "$SystemIndex*1" | bc `
if [ $index -eq 1 ];then
System=14.04
elif [ $index -eq 2 ];then
System=16.04
elif [ $index -eq 3 ];then
System=18.04
fi
fi
echo "*********************************"
echo "选择更新源:"
echo " 阿里源请输入 1"
echo " 清华源请输入 2"
echo " 网易源请输入 3"
echo "*********************************"
read SourceIndex
if [ -z $SystemIndex ];then
echo "输入格式错误"
exit
else
index=`echo "$SourceIndex*1" | bc `
if [ $index -eq 1 ];then
echo 1111
Source=ali
elif [ $index -eq 2 ];then
echo 222
Source=qinghua
elif [ $index -eq 3 ];then
Source=163
fi
fi
echo $Source
filename="source_${Source}_ubuntu${System}.list"
#下载安装git
echo "开始下载安装git..."
sudo apt-get install git
sudo apt-get -f install
sudo apt-get install git
echo "安装完成"
echo "开始下载库文件..."
git clone https://github.com/quanweiGithub/Ubuntu-China-Source
cd Ubuntu-China-Source
ls
echo "备份原链接..."
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
echo "设置链接..."
sudo cp $filename /etc/apt/sources.list
echo "更新源..."
sudo apt-get update
echo "修复软件..."
sudo apt-get -f install
echo "更新软件..."
sudo apt-get upgrade
echo "清理文件..."
cd ..
sudo rm -rf Ubuntu-China-Source
echo "国内源清理完毕"
运行脚本完毕后就可以准备下载python3.7了。我的是19.04的所以默认就安装了3.7.3的。但是如果你的是16.04的话就可以执行下面的命令来进行安装了。
安装依赖包
sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
安装pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l
安装 python3.7.0pyenv install 3.7.0 -v
对数据库进行更新:pyenv rehash
查看已经安装的python版本:pyenv versions
设置全局python版本pyenv global 3.7.0
安装完python后就可以准备安装jupyter了,因为我什么也不懂只好采用最简单的安装方法:使用conda来进行安装。
我们这里是全程以root用户来运行的,所以要切换到root用户:su -
如果你没设置root密码可以输入 sudo passwd
mkdir /Anaconda
cd /Anaconda
wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh
bash Anaconda3-4.4.0-Linux-x86_64.sh
我们直接下载安装脚本就可以自动安装了。
在安装过程中会询问你是否将anaconda的路径加入到环境变量中,默认是no,我这里不知道怎么回事所以直接没有加到环境变量里面。所以我们需要手动添加了了。
我们直接修改配置文件vi ~/.bashrc
然后在最后面加入:export PATH="/root/anaconda3/bin:$PATH"
最后保存退出,更新一下环境变量:source ~/.bashrc
然后在输入:conda list
如果有反应说明安装成功!
下面就可以开始安装jupyter notebook了
输入:conda install jupyter notebook
就可以开始安装了
安装完后直接输入jupyter notebook
就可以启动程序了,但是因为我们是root所以是不让我运行的,我们需要修改配置文件。
我们先让它生成配置文件:jupyter notebook --generate-config --allow-root
如果出现上面的文字,说明安装成功了,然后我们需要修改配置文件:gedit /root/.jupyter/jupyter_notebook_config.py
我这里Ubuntu19.04好像打不开所以我就直接到文件里面找然后直接修改了。
找到这一行#c.NotebookApp.allow_root = False改成c.NotebookApp.allow_root =True
然后直接启动程序jupyter notebook
默认端口为8888,我们先到浏览器输入127.0.0.1:8888
出现上面的界面就说明安转成功了,但是我们还是进不去的,因为我们没有密码,我们要修改一下密码。
输入:ipython
然后在输入from notebook.auth import passwd
在输入passwd()
这个时候输入密码就可以获得密码的hash值:
复制这个值,粘贴到配置文件内
保存好后就可以直接输入密码访问了,但是这个时候还是不能直接远程访问,所以我们还需要这样设置一下(自己找位置,然后把内容修改一下,把#注释掉):
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False(True:启动时自动打开浏览器)
c.NotebookApp.port = 8888(端口设置)
还有我们需要配置一下防火墙,默认Ubuntu安转了UFW防火墙,下面是这个防火墙的一些配置:
启动防火墙:sudo ufw enable
或者sudo ufw default deny
关闭防火墙:sudo ufw disable
查看防火墙状态:sudo ufw status
开启或者禁用相应的端口:
sudo ufw allow 80 允许外部访问80端口 sudo ufw delete allow 80 禁止外部访问80 端口 sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口 sudo ufw deny smtp 禁止外部访问smtp服务 sudo ufw delete allow smtp 删除上面建立的某条规则 ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒绝所有的流量从TCP的10.0.0.0/8 到端口22的地址192.168.0.1
如果没有安装可以输入如下命令安装:sudo apt-get install ufw
我们直接添加我们的端口就行了,然后就可以在本地直接访问虚拟机的ip地址加端口号如果看到以下界面说明可以外部访问了:
注意:如果你的是虚拟机想在本地访问的话需要在虚拟机的网络设置里面选择NAT模式。
这里怎么用就不说了,使用起来还是很简单的,直接在网页上输入代码就可以看到实际结果
备注:突然发现这个东西太好用了,不仅可以运行代码,还可以用来记笔记,代码和笔记可以放在一起,简直是效率神器啊!(实际演示效果)
如何让它一直在后台运行呢?
有两种方法:1.jupyter notebook --allow-root > jupyter.log 2>&1 &
2.nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
说明:1. 用&
让命令后台运行, 并把标准输出写入jupyter.log中
2.nohup
表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行.
停止方法
- 执行上面第2条命令, 可以发现关闭终端重新打开后, 用
jobs
找不到jupyter这个进程了, 于是要用ps -a
, 可以显示这个进程的pid. kill -9 pid
终止进程