作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:[Python系列-3]:Python网页版集成开发环境Jupyter Notebook的详细安装过程_文火冰糖(王文兵)的博客-CSDN博客_jupyter notebook网页版
目录
3. Jupyter Notebook对Python虚拟环境的支持
6. Jupyter Notebook的配置(可以采用默认值)
7.1 错误1:EnvironmentLocationNotFound: Not a conda environment
7.2 错误2:AttributeError: ‘dict’ object has no attribute 'rsplit’
7.3 错误3:’_xsrf’ argument missing from POST
1. Jupyter Notebook简介
1.1 什么是Jupyter Notebook
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。
如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
- 可选择语言:支持超过40种编程语言,包括Python、R、Julia、Scala等。
- 分享笔记本:可以使用电子邮件、Dropbox、GitHub和Jupyter Notebook Viewer与他人共享。
- 交互式输出:代码可以生成丰富的交互式输出,包括HTML、图像、视频、LaTeX等等。
- 大数据整合:通过Python、R、Scala编程语言使用Apache Spark等大数据框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow来探索同一份数据。
1.2 什么样的人需要Jupyter Notebook
- 基于Python的软件开发者。
- Python代码讲解者。
1.3 为什么需要Jupyter Notebook(优点)
- 开发者:可视化Python源程序的执行
- 分享者:可以配合图文、程序代码、程序执行过程、程序执行结果显示
- Jupyter Notebook是基于浏览器轻量级的集成环境
1.4 Jupyter Notebook的缺点
Jupyter Notebook生成的文件格式是xxx.ipynb,其结构化了Python的源代码和可视化数据,它不是原始的Python源文件,因此Python解释器无法直接执行,需要先转换成Python文件。
2. Jupyter Notebook工具的安装
2.0 Jupyter Notebook的前置条件
安装Jupyter Notebook的前提是需要安装了Python解析器。
2.1 使用Anaconda安装
如果你是小白,那么建议通过安装Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动为你安装了Jupter Notebook及其他工具,还有python中超过180个科学包及其依赖项。
通常来说,安装了Anaconda发行版时已经自动为你安装了Jupyter Notebook的。
但如果没有自动安装,那么就在终端(Linux或macOS的“终端”,Windows的“Anaconda Prompt”,以下均简称“终端”)中输入以下命令安装:
conda install jupyter notebook
2.2 使用pip命令安装
- Python 3.x
pip3 install jupyter
- Python 2.x
pip install jupyter
3. Jupyter Notebook对Python虚拟环境的支持
3.1 概述
默认情况下,Jupter只能使用Python base环境中的解析器,不支持Python的虚拟环境。如下图所示:只有默认的Python3内核。
因此,如果把Tensorflow或Pytorch安装在虚拟环境中,Jupter Notebook是无法import 它们的库文件的。
为了使Jupyter Notebook支持Python虚拟环境的需要额外的安装和配置。
3.2 手工添加添加法 (针对某个特定的虚拟环境)
(1)创建虚拟环境
conda create -n myenv python=3.8
(2)激活虚拟环境
conda activate myenv
(3)为虚拟环境安装ipykernel包:
#pip install --user ipykernel
conda install ipykernel
备注:
实际安装过程中发现,使用pip install会导致版本不一致,导致Jupter出现kenel error异常。
因此,建议使用conda来安装ipykernel
(4)将虚拟环境加入Jupter
conda activate base
python -m ipykernel install --user --name “myenv” --display-name "display name"
python -m ipykernel install --user --name pytorch1.8_py3.8 --display-name pytorch
python -m ipykernel install --user --name tensorflow2.4_py3.8 --display-name tensorflow
查看jupyter当前已经添加的虚拟环境(在base下运行)
jupyter kernelspec list
输出:
Available kernels:
pytorch1.8_py3.8 C:\Users\Administrator\AppData\Roaming\jupyter\kernels\pytorch1.8_py3.8
tensorflow2.4_py3.8 C:\Users\Administrator\AppData\Roaming\jupyter\kernels\tensorflow2.4_py3.8
python3 C:\ProgramData\Anaconda3\share\jupyter\kernels\python3
删除多余的虚拟环境
jupyter kernelspec uninstall myenv
3.3 自动管理(针对所有的虚拟环境)
(1)安装Jupyter管理虚拟环境的插件nb_conda
conda activate base
conda install nb_conda #自动管理所有的conda虚拟环境
(2)安装完成后,jupyter notebook中多了Conad选项卡
3.4 为程序选择新的虚拟环境
运行jupyter notebook或jupyter lab,就可使用刚刚创建的虚拟环境,
4. Jupyter Notebook工具的启动
4.1 命令行启动
① 默认端口启动
在终端中输入以下命令:
jupyter notebook
执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。
启动过程中终端显示内容如下:
$ jupyter notebook
[I 08:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
[I 08:58:24.417 NotebookApp] 0 active kernels
[I 08:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 08:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
- 注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。
浏览器地址栏中默认地将会显示:http://localhost:8888
。其中,“localhost”指的是本机,“8888”则是端口号。
如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……
② 指定端口启动
如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:
jupyter notebook --port <port_number>
其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999
,即在端口号为“9999”的服务器启动Jupyter Notebook。
③ 启动服务器但不打开浏览器
如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:
jupyter notebook --no-browser
此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。
例图中由于在完成上面内容时我同时启动了多个Jupyter Notebook,因此显示我的“8888”端口号被占用,最终分配给我的是“8889”。
4.3 快捷菜单启动
5. Jupyter Notebook工具的主页面
① 主页面内容
当执行完启动命令之后,浏览器将会进入到Notebook的主页面,如下图所示。
6. Jupyter Notebook的配置(可以采用默认值)
6.1 配置文件
(1)生成自定义配置文件
jupyter notebook --generate-config
(2)配置文件的路径
-
Windows系统的配置文件路径:
C:\Users\<user_name>\.jupyter\
-
Linux/macOS系统的配置文件路径:
/Users/<user_name>/.jupyter/
或~/.jupyter/
(3)配置文件的名称
-
配置文件名:
jupyter_notebook_config.py
6.1 web server端口配置
## The port the notebook server will listen on (env: JUPYTER_PORT).
# Default: 8888
c.NotebookApp.port = xxxx
6.2 文件存储路路径配置
默认:当前命令行默认目录。
## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''''
c.NotebookApp.notebook_dir = ''xxx''
6.3 如何使修改生效
如果使用Jupyter Notebook (anaconda)
这个快捷方式打开,则不会读取此配置文件。
需要删除,快捷方式目标中的 "%USERPROFILE%"
,其的意思是使用用户的根目录作为jupyter的根目录。如下图所示:
7. Jupter使用过程中的错误处理
7.1 错误1:EnvironmentLocationNotFound: Not a conda environment
打开jupyter后点击Conda会弹出这样的错误:
解决方法:
找到Anaconda安装路径下nb_conda库的envmanager.py文件
win系统在目录:Anaconda3\Lib\site-packages\nb_conda\envmanager.py
linux系统在目录:Anaconda3/pkgs/nb_conda-2.2.1-py36_0/lib/python3.6/site-packages/nb_conda/envmanager.py
找到该文件后在83~86行有这样一段代码:
return {
"environments": [root_env] + [get_info(env)
for env in info['envs']]
}
我们将此段代码改成如下:
return {
"environments": [root_env] + [get_info(env) for env in info['envs'] if env != root_env['dir']]
}
然后重启jupyter就可以了。
7.2 错误2:AttributeError: ‘dict’ object has no attribute 'rsplit’
解决方法:
找到Anaconda安装路径下文件:Anaconda3\Lib\site-packages\nb_conda\envmanager.py
修改内容:
name, version, build = s.rsplit('-', 2)
修改成:
if isinstance(s, dict):
s = s['dist_name']
name, version, build = s.rsplit('-', 2)
然后重启jupyter。
7.3 错误3:’_xsrf’ argument missing from POST
解决方法:
用户家目录下 .jupyter/jupyter_notebook_config.json文件添加:
"disable_check_xsrf": true
然后重启jupyter。
如果没有报错的话,就可以在jupyter中新建python环境了,需要注意的是新建的环境需要安装ipykernel包,才会显示在新建note菜单中。
如果看不到的话,强制刷新下页面就好了。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:[Python系列-3]:Python网页版集成开发环境Jupyter Notebook的详细安装过程_文火冰糖(王文兵)的博客-CSDN博客_jupyter notebook网页版