[Python系列-3]:Python网页版集成开发环境Jupyter Notebook的详细安装过程

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

 本文网址:[Python系列-3]:Python网页版集成开发环境Jupyter Notebook的详细安装过程_文火冰糖(王文兵)的博客-CSDN博客_jupyter notebook网页版


目录

1. Jupyter Notebook简介

1.1 什么是Jupyter Notebook

1.2 什么样的人需要Jupyter Notebook

1.3 为什么需要Jupyter Notebook(优点)

1.4 Jupyter Notebook的缺点

2. Jupyter Notebook工具的安装

2.0 Jupyter Notebook的前置条件

2.1 使用Anaconda安装

2.2 使用pip命令安装

3. Jupyter Notebook对Python虚拟环境的支持

3.1 概述

3.2 手工添加添加法 (针对某个特定的虚拟环境)

3.3 自动管理(针对所有的虚拟环境)

3.4 为程序选择新的虚拟环境

4. Jupyter Notebook工具的启动

4.1 命令行启动

① 默认端口启动

② 指定端口启动

③ 启动服务器但不打开浏览器

4.3 快捷菜单启动

 5. Jupyter Notebook工具的主页面

① 主页面内容

 6. Jupyter Notebook的配置(可以采用默认值)

6.1 配置文件

6.1 web server端口配置

6.2 文件存储路路径配置

6.3 如何使修改生效

7. Jupter使用过程中的错误处理

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

preview

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网页版

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值