在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
(安装完重启后 无法正常使用,用conda list命令时提示conda: command not found)
配置conda到用户的环境中
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda2/bin echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc
#使用conda list测试看是否生效
③重启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查看文件是否存在)
以下两个方法都可以修改配置文件,建议使用方法一
出现问题:配置完无效,不停弹出开启xmanager的提示
问题原因:
~/.jupyter/jupyter_notebook_config.py这个文件可能多个用户都存在,
解决方法 cd 到~/.jupyter目录下,从当前目录编辑上边的config.py文件直接在最后追加
方法一:
# 修改配置文件 # 设置监听地址,一般改为当前主机的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 = 8889
④启动jupyter notebook
- # 启动 jupyter notebook
- #如果当前是root账户使用该命令启动 jupyter notebook --allow-root
- # 此时打开浏览器,输入 Jupyter服务器的ip:8889 # 进入登陆页面后,输入设置的密码即可登陆
问题一:
安装后的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. 首先激活对应的conda环境
conda activate 环境名称
2.使用
安装ipykernel
conda install ipykernel
将环境写入notebook的kernel中
python -m ipykernel install --user --name 环境名称 --display-name "Python (环境名称)"
然后打开notebook
jupyter notebook
浏览器打开对应地址,新建python,就会有对应的环境提示了