在linux服务器(ubuntu)上搭建一个在线的jupyter notebook

0.为自己的用户安装一个anaconda(不需要使用root权限)

①下载anaconda3的.sh安装包(下载到待安装目录下)

  annoconda各个版本的链接:https://www.anaconda.com/products/individual

  使用wget命令下载到服务器本地:

wget -p 指定目录 下载地址

②使用bash运行.sh安装文件按照提示即可安装完成

bash Anaconda3-2020.11-Linux-x86_64.sh

③重启linnux系统或者重新连接服务器,再登录上之后命令行前边就会多出一个(base)的环境

 ④后续就可以通过conda的常用命令进行相关操作了

1.使用conda创建一个新的环境

conda常用的命令:

conda list 查看安装了哪些包。
conda env list 或 conda info -e 查看当前存在哪些虚拟环境
conda update conda 检查更新当前conda

创建流程

①创建环境

 conda create -n xxx python=3.6

#xxx为自己命名的虚拟环境名称,该文件可在Anaconda安装目录 envs文件下找到

②激活环境

python --version  # 可以检查当前python的版本
Linux:  conda activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)

③虚拟环境中安装额外的包

conda install -n your_env_name [package]

④关闭虚拟环境

Linux: conda deactivate
​
Windows: deactivate

⑤删除虚拟环境

conda remove -n your_env_name(虚拟环境名称) --all
conda remove --name your_env_name  package_name  # 删除环境中的某个包

二.搭建在线的jupyter notebook

①下载jupyter

conda install -n 自己的环境名称jupyter

②设置密码

jupyter notebook password

③生成配置文件

jupyter notebook --generate-config --allow-root

#非root用户可以不加--allow-root

#生成完配置文件后修改配置文件(可以先用cat查看文件是否存在)

以下两个方法都可以修改配置文件,建议使用方法一

方法一:

# 修改配置文件 
# 设置监听地址,一般改为当前主机的ip
sed -ie "s/#c.NotebookApp.ip = 'localhost'/c.NotebookApp.ip = '服务器ip地址'/g" ~/.jupyter/jupyter_notebook_config.py
# 设置监听端口
sed -ie 's/#c.NotebookApp.port = 8888/c.NotebookApp.port = 你想要的端口号/g' ~/.jupyter/jupyter_notebook_config.py
# 禁用自动打开浏览器
sed -ie 's/#c.NotebookApp.open_browser = True/c.NotebookApp.open_browser = False/g' ~/.jupyter/jupyter_notebook_config.py

方法二:

vim ~/.jupyter/jupyter_notebook_config.py

修改或追加如下配置一致即可,去掉注释符 # 才能读取代码

c.NotebookApp.ip = '建议写当前linux机器的ip地址'
c.NotebookApp.open_browser = False  #不自动打开浏览器
c.NotebookApp.port = 8000      #设置端口

④启动jupyter notebook
  • # 启动 jupyter notebook
  • #如果当前是root账户使用该命令启动 jupyter notebook --allow-root
  • # 此时打开浏览器,输入 Jupyter服务器的ip:8000 # 进入登陆页面后,输入设置的密码即可登陆

问题一:

安装后的jupyter里没有python内核,参考如下博客进行了配置

https://stackoverflow.com/questions/46771268/cannot-add-python3-kernel-to-jupyter

可能的原因:

服务器的python3中可能没有安装 ipykernel.安装ipykernel的方法如下:

pip3 install ipykernel
python3 -m ipykernel install --user --name 自己的环境名称

问题二(已解决):因为没给文件授权

客户端报错:500 : Internal Server Error

终端报错:PermissionError: [Errno 13] Permission denied: '/usr/share/jupyter/nbconvert/templates/conf.json'

 猜想:可能和非root的权限有关系

 解决方法:

①可能由于某些包与python版本不兼容,进行全部更新操作

pip install -U "ipython[all]"

②权限问题的解决方法:去终端为用户授权(要去jupyter notebook新建的终端里授权)

sudo chmod -R 777 报无权限错误部分的目录
#我的是/usr/share/jupyter/nbconvert/templates

参考:https://stackoverflow.com/questions/36851746/jupyter-notebook-500-internal-server-error

 三、jupyter notebook选择conda环境

1.安装ipykernel

conda install ipykernel

2.使用

首先激活对应的conda环境

source activate 环境名称

将环境写入notebook的kernel中

python -m ipykernel install --user --name 环境名称 --display-name "Python (环境名称)"

然后打开notebook

jupyter notebook

浏览器打开对应地址,新建python,就会有对应的环境提示了

原文地址:https://www.cnblogs.com/StarZhai/p/14488390.html