V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Hlianbobo
V2EX  ›  Python

vscode 和 Jupyter Notebook 之间是什么关系

  •  
  •   Hlianbobo · 2020-08-22 09:39:52 +08:00 · 5953 次点击
    这是一个创建于 1559 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前我的认识如下:vscode 和 Jupyter Notebook 都是支持 python 的开发环境(具体是 ide 还是编辑器,可议,但不是重点)。但是看了下面这个文章我有有点晕了: https://zhuanlan.zhihu.com/p/85445777
    怎么在 vscode 中使用 Jupyter Notebook ?

    问题:
    1 、为什么要在 vscode 中使用 Jupyter Notebook 插件来实现 Jupyter Notebook 环境?直接使用 Jupyter Notebook 不好么?


    2 、文章中介绍的图表查看器是可以不用 matplotlib 就可以实现数据可视化么?我觉得应该没这么容易吧。如果不是 matplotlib 的替代。那图表查看器出图的前提条件是什么?


    3 、图表查看器和数据查看器和变量查看器是 vscode 中 Jupyter Notebook 插件的功能还是 Jupyter Notebook 本身的功能?或者是 vscode 自带的功能?以变量查看器为例,能实现向 matlab 和 spyder 当中那样双击矩阵变量就以表格的形式显示变量么?并且可以对表格数据进行复制么?

    关于变量窗口可以看这个链接: https://www.zhihu.com/question/403622435
    14 条回复    2020-08-25 15:37:07 +08:00
    renmu123
        1
    renmu123  
       2020-08-22 09:44:05 +08:00 via Android
    你去试用原版 jupyter 就知道他和别的 ide 有什么区别的,你的问题也能解决了
    breakertt
        2
    breakertt  
       2020-08-22 09:58:05 +08:00
    vs code 套娃呗,不过的确比 jupyter notebook 的网页版好用。
    Hlianbobo
        3
    Hlianbobo  
    OP
       2020-08-22 10:01:11 +08:00
    @breakertt 用过其中的图表查看器么?可以像用 Excel 那样直接对某个变量的数据出图,不用写代码?
    nightwitch
        4
    nightwitch  
       2020-08-22 10:30:12 +08:00
    1. vscode 里配 jupyter notebook 可以既使用 jupyter 提供的功能又使用 vscode 提供的补全之类的功能。
    2. 不可以。先要用 matplotlib 出图以后,双击出的图才会进到图表查看器。主要用途是放大查看和保存到其他格式。
    3. 没用过
    agriphar
        5
    agriphar  
       2020-08-22 10:40:39 +08:00
    vscode 想把使用 Jupyter Notebook 的用户拉拢过来,最终达到一统江湖的目的
    MaxTan
        6
    MaxTan  
       2020-08-22 12:02:12 +08:00
    用 vscode 习惯点啊,而且 vscode 里面可以用 vim 模式
    dlsflh
        7
    dlsflh  
       2020-08-22 12:51:15 +08:00 via Android
    Spyder 像是这两个的综合体。
    yech1990
        8
    yech1990  
       2020-08-22 17:55:14 +08:00 via Android   ❤️ 2
    你和部分回复应该是弄混概念了。

    - vscode 是近似 IDE 的编辑器,jupyter 也是编辑器。notebook (其实是 ipynb, ipython notebook )是文件格式,好比 markdown 一样是一种文件格式。

    - vscode 里面打开,是打开 notebook 文件,不是打开 jupyter 。
    IgniteWhite
        9
    IgniteWhite  
       2020-08-22 22:47:25 +08:00
    这篇文章讲的都是编辑器插件层面的,如果只讲编辑器,那么 jupyter notebook,vscode,甚至 jupyter lab 都有各自的插件,也都有 vim 模式,等等。

    (接下来我谨慎对待大小写) Jupyter 最精髓的东西不是它的编辑界面!而是它基于的一个可交互 Python 内核,叫 IPython 。IPython 和 Jupyter 一样,都是 Python 的包,IPython 是 Jupyter 的依赖。有了 IPython,Jupyter 才实现了一个 cell 一个 cell 调试的功能。

    既然 IPython 也是包,那么在安装一整套 Jupyter server 端的过程中,我们也要首选选择 Python 的版本,是否使用 Python 虚拟环境,如果使用的是 Anaconda/Miniconda/Miniforge 等版本,就要使用 conda 作为包管理器和虚拟环境管理器。配置好 Python 环境之后,在需要的 Python 虚拟环境里装 Jupyter 包,它会自动安装 IPython 等依赖。

    现在可以回答楼主的问题了。这个知乎专栏里提到两点,第一点是“目前,如果要调试 Jupyter Notebook,需要先把 Jupyter Notebook 转为 Python 文件,再进行调试。开发团队正在努力工作,未来,将能直接在 Jupyter editor 里进行调试!”可见,它目前是不带 Jupyter 的 server 的,当然也就没有 IPython,不能交互执行。第二点是“连接到远程的 Jupyter server”这一部分,远程的 server 当然是一个配置好了各方面包的 Jupyter,是一个一直运行在服务器里的进程。

    数据可视化这部分,我的猜测是这个插件自带了一些 Python 的东西,不知道是不是用的 matplotlib,因为 seaborn 和 plotly 之类的包也能出图,当然 seaborn 是基于 mpl 的。数据和变量的 inspector 应该也是插件的。关键还是看你的 Python 环境部署在哪里。
    IgniteWhite
        10
    IgniteWhite  
       2020-08-22 23:14:31 +08:00
    我刚刚看了一下 vscode 的官方 doc: https://code.visualstudio.com/docs/python/jupyter-support,发现楼主看的这个知乎专栏翻译转载自这篇官方 doc 。有些部分他没转载,导致难以理解。我在这里把缺失的部分按照楼主问题顺序翻译讲一下:

    1. 出自 https://code.visualstudio.com/docs/python/jupyter-support#_debug-a-jupyter-notebook:In VS Code, if you haven't already, activate a Python environment in which Jupyter is installed. 这就像我前面说的一样,交互调试的 Python 环境是需要你自己部署的。同时这一部分也讲到了其他细节,感兴趣可以去看

    2. 出自 https://code.visualstudio.com/docs/python/jupyter-support#_plot-viewer:Note: There is support for rendering plots created with matplotlib and Altair. 说明插件里有包含着两个包

    3. 出自 https://code.visualstudio.com/docs/python/jupyter-support#_variable-explorer-and-data-viewer:Note: Variable explorer is enabled by default, but can be turned off in settings (Python > Data Science: Show Jupyter Variable Explorer). 我的理解是数据和变量查看器属于 python 插件 data science 功能的一部分
    IgniteWhite
        11
    IgniteWhite  
       2020-08-22 23:15:22 +08:00
    链接没搞好,麻烦复制粘贴看
    silkriver
        12
    silkriver  
       2020-08-25 13:28:20 +08:00
    spyder 有一个 spyder-notebook 插件,vscode 所做的其实和它类似吧
    https://github.com/spyder-ide/spyder-notebook
    northisland
        13
    northisland  
       2020-08-25 15:12:21 +08:00
    微软出品,文质俱佳,值得唾弃。
    northisland
        14
    northisland  
       2020-08-25 15:37:07 +08:00
    https://en.wikipedia.org/wiki/Project_Jupyter

    jupyter-notebook 是一个写报告的 python 开发者常用的工具,,,能把实验的中间结果留存、展示。也常作为多种编程语言培训的工具。
    生成的 ipynb 文件匹普通 python 文件大很多,执行效率也低很多。
    根据官网 https://jupyter.org/about 是 ipython 项目开发中,2014 年独立出来的,侧重交互的项目。


    https://en.wikipedia.org/wiki/Visual_Studio_Code
    2015 年的编辑器,2019 年貌似成了世界用户数量第一的编程工具=_= 。貌似是在 jupyter 外围加了一层皮。

    多的不知道。有空试一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3224 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:14 · PVG 21:14 · LAX 05:14 · JFK 08:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.