云服务器安装Anaconda3并配置JupyterLab
Jupyter Lab简介
Jupyter源于Ipython Notebook,是使用Python(也有R、Julia、Node等其他语言的内核)进行代码演示、数据分析、可视化、教学的很好的工具,对Python的愈加流行和在AI领域的领导地位有很大的推动作用。
Jupyter Lab是Jupyter的一个拓展,提供了更好的用户体验,例如可以同时在一个浏览器页面打开编辑多个Notebook,Ipython console和terminal终端,并且支持预览和编辑更多种类的文件,如代码文件,Markdown文档,json,yml,csv,各种格式的图片,vega文件(一种使用json定义图表的语言)和geojson(用json表示地理对象),还可以使用Jupyter Lab连接Google Drive等云存储服务,极大得提升了生产力。
体验Jupyter Lab
我们可以通过Try Jupyter网站(https://jupyter.org/try)使用Jupyter Lab。
可以有2种安装方法 ,分别是使用PIP 安装 或者使用Anaconda3去安装
使用Anaconda3安装,后期相对来说就方便很多,下面分别介绍2种安装方法.
通过Anaconda3安装jupyter-lab
首先下载Anaconda3
可以直接去官网,或者使用 清华大学的镜像站点.这里使用清华大学的站点来安装.
或者可以直接再linux下执行下面的命令也可以下载到本地
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
如果觉得从官网下面下载的慢 可以在清华大学的镜像主站上去下载Anaconda 安装包
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
TUNA 还提供了 Anaconda 仓库与第三方源(conda-forge、msys2、pytorch等,查看完整列表)的镜像,各系统都可以通过修改用户目录下的 .condarc
文件:
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
即可添加 Anaconda Python 免费仓库。Windows 用户无法直接创建名为 .condarc
的文件,可先执行 conda config --set show_channel_urls yes
生成该文件之后再修改。
运行 conda create -n myenv numpy
测试一下吧。
当我们把文件下载()下来后,去到文件保存的目录上执行命令就可以一步一步安装Anaconda3了
sudo bash Anaconda3-5.2.0-Linux-x86_64.sh
下面就开始安装的过程了,根据提示进行操作即可。
注意:
不想安装在默认目录的话需要制定目录!
提示是否要添加环境变量时选择 是 :
之后就一步一步的执行下去了.
还有,如果你是使用Ubuntu的话,本来就自带了Python3.6,所以安装完Anaconda之后,执行python3是不会出现提示你使用的是Anaconda里面附带的python的.但是如果你执行conda info
是会出现你安装的Anaconda的版本信息的.这样就表明你安装正确了
遇到的坑:
我安装的时候,是自己重新安装了python3.7,并且把Ubuntu里面原装的python3的链接由python3.6重新指向了python3.7,但是,其他的附带的python连接就没有重新指向.所以安装Anaconda3的时候,执行到最后面就出现了编译错误.=-.-= 我当时找了好久都没找到问题的根源.
好了 到现在我们已经安装好了Anaconda3了.正常来说,因为Anaconda3已经自带了jupyter 和jupyter-lab ipython等,所以我们直接可以运行了.但是在现在运行只是普通的在本地运行,毕竟我们现在是在云服务器,所以我们需要进行一系列的配置才可以远程登陆.
生成配置文件
首先执行命令产生jupyterlab配置文件:
jupyter lab --generate-config
修改配置文件:
vim /home/ubuntu/.jupyter/jupyter_notebook_config.py
生成密钥
解释:Ipython把输入的密码转换成sha,并用于认证JupyterLab,本文在Ipython输入密码和确认密码时直接>回车,相当于不设密码,因此登录JupyterLab时可以不输入密码直接点击登录。
需要用ipython命令生成秘钥,启动ipython:
ipython
执行命令生成秘钥:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
按照自己的需求修改如何内容,
# 将ip设置为*,意味允许任何IP访问
c.NotebookApp.ip = '*'
# 这里的密码就是上边我们生成的那一串
c.NotebookApp.password = 'sha1:f704b702aea2:01e2bd991f9c7208ba177b46f4d10b6907810927'
# 服务器上并没有浏览器可以供Jupyter打开
c.NotebookApp.open_browser = False
# 监听端口设置为8888或其他自己喜欢的端口
c.NotebookApp.port = 8888
# 允许远程访问
c.NotebookApp.allow_remote_access = True
配置好之后,就可以执行命令打开jupyter-lab的服务了
jupyter-lab
下面是升级版本的通用方法:
conda update conda
conda update anaconda
conda install -c conda-forge nodejs
conda install -c conda-forge jupyterlab # 这是用来升级 jupyter lab 到最新版的方法
通过PIP安装jupyter
安装pip
第一步:Install pip and virtualenv for Ubuntu 16.04LTS Maverick and newer
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
第二步:Install Easy Install
sudo apt-get install python-setuptools python-dev build-essential
第三步:Install pip
sudo easy_install pip
第四步Install virtualenv
For Python3
sudo apt-get install python3-pip
For Python2
sudo apt-get install python-pip
升级pip
sudo pip3 install --upgrade pip
sudo pip2 install --upgrade pip
sudo pip install --upgrade pip
更换pip源加速下载
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
cat > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
npm和yarn也可以换源,更简单,自行google。
pip国内的一些镜像包,换源之后出现python2版本过低的情况导致以前的包下载不了,那就直接将文件夹~/.pip/pip.conf删除就可以恢复原来的源。
pip指向问题
有时候会出现pip,pip2,pip3都TM指向python2,这个之后就需要改一下这这三个文件。
编辑这三个文件,将第一行注释分别改为python\python2\python3
~ $which pip
/usr/local/bin/pip
21:36 alien@alien-Inspiron-3443:
~ $which pip2
/usr/local/bin/pip2
21:36 alien@alien-Inspiron-3443:
~ $which pip3
/usr/local/bin/pip3
3.3 安装yarn和nodejs
配置仓库
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
安装yarn
sudo apt-get update
sudo apt-get install yarn
注意这里yarn自动安装了nodejs,不过版本太低,安装jupyterlab的时候会出问题,而且使用n或者nvm安装的nodejs也有问题,总之nodejs要按照下面这种方式就没事,这个是官方的bug,官方issue也提到过,但是目前还未解决。
安装nodejs
创建一个新文件,输入两行deb,结束之后Ctrl+C:
cat > /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main
导入公匙并安装nodejs,这个版本的nodejs对jupyterlab支持比较友好。
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-get update
apt-cache policy nodejs
sudo apt-get install nodejs
nodejs --version
安装ipython,matplotlib,scipy,pandas,numpy
最好python2和python3都安装。
4、安装JupyterLab及其配置
记住使用pip2安装,如果你用pip3安装的话可能会出现版本兼容问题。
sudo pip2 install jupyterlab
生成密码
jupyter-notebook password
4.1 创建哈希密码
from notebook.auth import passwd
passwd()
输入你自己设置登录JupyterLab界面的密码,
#>然后就会生产下面这样的密码,将它记下来,待会儿用
‘sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704’
4.2 修改JupyterLab配置文件
先生成一个配置文件,记下输出的配置文件地址
jupyter lab --generate-config
修改配置文件,找到下面这几行文件,注释掉并修改成这样。
c.NotebookApp.allow_root = True
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.notebook_dir = u'/root/JupyterLab'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704'
c.NotebookApp.port = 8080
对应每行稍微解释一下
允许以root方式运行jupyterlab
允许任意ip段访问
设置jupyterlab页面的根目录
默认运行时不启动浏览器,因为服务器默认只有终端嘛
设置之前生产的哈希密码
设置访问端口
到此,JupyterLab已经安装成功了。
jupyter-lab --version
0.33.12
jupyter lab build
jupyter lab build时间有点久,如果没报错就成功了。但此时你还不能访问JupyterLab,还需要添加端口规则,也就是所谓的添加安全组。
将 Jupyter lab 运行在后台
每次远程打开终端运行命令之后,长期挂在那,或者网络中断后,jupyter-lab也相继中断.的确是一件很繁琐的事情.
所以可以直接运行一下命令来把jupyter-lab运行在后台.
nohup jupyter-lab 2>&1 >> /home/ubuntu/.jupyter.log &
Jupyter-lab安装插件
因为我们在上面已经安装了nodejs了,所以现在
打开jupyter lab,在界面内配置插件选项:
setting-->Advanced Settings Editor--Extension Manager :在User Overrides 添加语句{"enabled": true},最后保存,就出现插件选项了
在SEARCH框里面查找自己所需要的插件安装即可.
当然有些是需要下载到本地去安装的.
安装其他语言的kernel
安装java kernel for jupyter 具体步骤:
一、java 环境配置
1.下载 jdk (这里从官网下载最新版 11.0.1)
官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
wget https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
具体下载链接可以自己从浏览器内点击下载后复制,上述链接有用户参数,可能只能在当时用
2.解压下载好的压缩包
tar -zxvf jdk-11.0.1.tar.gz
3.使用 root 权限用户新建 jdk 目录,并且将解压的文件夹移动到新建的目录
mkdir /home/ubuntu/software/
mv jdk-11.0.1 /home/ubuntu/software/jdk11
移动后的目录结构为:/home/ubuntu/software/jdk11
4.配置环境变量
vi /etc/profile
在系统环境文件中添加以下语句:
export JAVA_HOME=/home/ubuntu/software/jdk11
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
其中 JAVA_HOME 可以根据具体情况改变
使用以下命令激活刚配置的环境变量:
source /etc/profile
5.测试 java 是否安装成功
java -version
输出java version "11.0.1"
等版本信息即安装成功
二、java 内核安装
手动安装
1.下载 java 内核压缩包
wget https://github.com/SpencerPark/IJava/releases/download/v1.2.0/ijava-1.2.0.zip
2.解压下载得压缩包
unzip ijava-1.2.0.zip
解压后得到一个 install.py 的文件,和一个 java 文件夹
3.安装 java 内核
在第二步解压后的文件夹中,执行以下命令安装:
python3 install.py --sys-prefix
确保 python 版本为 3,或者用 python3 执行也可以
4.测试 java 内核
jupyter console --kernel=java
从源安装
获取最新版本的内核,但安装时可能会遇到一些问题。如果您希望为内核做出贡献,这也是采取的途径。
下载项目。
git clone https://github.com/SpencerPark/IJava.git
cd IJava /
构建并安装内核。
在命令行上运行 ./gradlew installKernel
测试:
在jyputer-lab里面新建文件输入测试
In [1]: String helloWorld = “Hello world!” In [2]: helloWorld Out[2]: “Hello world!”
安装IR kernel for jupyter 具体步骤:
安装最新的版本(或特殊情况指定版本),你必须用 CRAN(Comprehensive R Archive Network)。这个是 R 最新版本的镜像列表。
如需获取 3.6 的版本,需要添加镜像到你的源索引里。我已经简化其命令如下:
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran35/"
下面你需要添加密钥到服务器中:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
然后更新服务器信息并安装R环境:
sudo aptitude update
sudo aptitude install r-base
就这样安装完成当前环境R语言的安装
下面来进行R 语言在jupuer的内核调用的配置。
sudo aptitude install libzmq3-dev libcurl4-openssl-dev libssl-dev jupyter-core jupyter-client
安装过程很简单,你只需要跟着我一步一步地复制代码到R,运行即可。甚至可以连我的解释都不用看,直接把代码复制粘贴就ok。(ps:安装的过程中不要同时打开jupyter软件)
在R中安装镜像下载工具——devtools包 打开RStudio,输入以下代码:
install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')
devtools::install_github('IRkernel/IRkernel')
可以使用R中的以下行为当前用户安装内核规范:
IRkernel::installspec()
要在系统范围内安装,请user在installspec命令中将其设置为False :
IRkernel::installspec(user = FALSE)
install.packages('devtools') #在R中安装devtools库
现在你可以打开jupyter了,会发现Jupyter可以使用R内核了。
个人安装中出现的错误:
出现sh: 1: /bin/gtar: not foun
这个错误是因为调用安装命令的时候 ,脚本里面的tar解压命令找不到路径
可以使用ln -s /bin/tar /bin/gtar
来做连接解决问题
如果出现 fatal error: bits/libc-header-start.h: No such file or directory
字眼的报错
就是GCC的编译环境不完善.
可以尝试输入sudoapt-get install gcc-multilib
即可
安装IJavascript kernel for jupyter 具体步骤:
npm config set prefix $HOME
npm install -g ijavascript
ijsinstall
安装IGo kernel for jupyter 具体步骤:
首先需要在系统上安装GO语言
Ubuntu是目前使用最多的Linux桌面系统,使用apt-get(我这里使用aptitude)命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把 git mercurial 也安装上:
使用APT-GET安装
sudo aptitude install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo aptitude update
sudo aptitude install golang-stable git-core mercurial
使用WGET安装
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local
配置环境变量:
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可选设置)
或者使用:
sudo vim /etc/profile
并添加下面的内容:
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可选设置)
重新加载 profile 文件
source /etc/profile
GVM
gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装完成后我们就可以安装go了:
gvm install go1.8.3
gvm use go1.8.3
也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.8.3 --default
执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。
安装jupyter的go内核执行下面的语句就可以了.
go get -u github.com/gopherdata/gophernotes
mkdir -p ~/.local/share/jupyter/kernels/gophernotes
cp $GOPATH/src/github.com/gopherdata/gophernotes/kernel/* ~/.local/share/jupyter/kernels/gophernotes