pycharm可以打开ipynb文件吗_pycharm怎么运行ipynb文件

pycharm可以打开ipynb文件吗_pycharm怎么运行ipynb文件Anaconda和Jupyter用得多,但是对于配置非常头痛,昨天jupyter无论如何都启动不了服务,重装了anaconda两次终于找到错误原因在哪了背景我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Anaconda和Jupyter用得多,但是对于配置非常头痛,昨天jupyter无论如何都启动不了服务,重装了anaconda两次终于理清楚了

背景

我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫CLRS_Code
然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建一个.ipynb文件,Pycharm提示我没有装Jupyter Packages,然后我就在Pycharm里面装了,装完之后,搜索Jupyter,会出现两个启动选项。。
在这里插入图片描述

第一个anaconda3就是自带的Jupyter,下面那个CLRS_Code,是刚刚在Pycharm里面安装Jupyter Packages出现的Jupyter

需求

用Pycharm连接jupyter notebook服务
在Pycharm中编写.ipynb
将当前anaconda环境注册为kernel(可选)

解决方案

首先一切的前提就是原来的Jupyter notebook能够运行,如果原来的都崩了,那么只能重装anaconda

1.启动服务

然后启动Jupyter服务的方式有三种,一种是直接运行下面的exe
在这里插入图片描述
另一种是在anaconda的cmd里面,输入jupyter notebook启动服务

最后一种是直接在Pycharm里面操作,尝试运行,如果pycharm没有检测到环境,会启动一个服务,然后自动连接

  1. Pycharm连接jupyter
    如果之前没有用pycharm启动jupyter,那么需要下面操作

启动完之后,窗口会弹出来这些内容,
在这里插入图片描述
复制这些内容,然后在Pycharm里面这一栏配置
在这里插入图片描述
复制刚刚的内容到Configured Server里面
在这里插入图片描述

结果

现在终于能在Pycharm里面写.ipynb了,很舒适,尽管会一直弹出来这个提示
在这里插入图片描述
它意思就是当前的解释器和notebook的kernel不匹配,其实到现在也能运行,但是如果强迫症非要去掉的话,让Pycharm去注册是没用的,我之前就是想用Pycharm搞定,结果搞得非常混乱
解决方法就是 要自己去anaconda prompt里面注册,参考别人的解决方案:https://youtrack.jetbrains.com/issue/PY-36913
在这里插入图片描述
其实就是将当前解释器注册成kernel,不过我没有用的上面命令,我参考的是这篇文章:https://blog.csdn.net/june_young_fan/article/details/85100578

后续

前面提到两个jupyter notebook启动项,看起来电脑上存在着两个jupyter notebook,但是实际上它们指向的是同一个exe,也就是说电脑上只有一个jupyter notebook。

如果你修改了jupyter的配置,那么这些修改是全局修改,所以你在anaconda里面虽然有多个环境,但是anaconda里面只有一个jupyter,base环境里面是有jupyter packages的,所以可以连接jupyter,但是新建环境里面不会带jupyter packages,所以pycharm会提示你安装jupyter packages,安装完之后才可以连接,画一个示意图

在这里插入图片描述

解释一下就是anaconda里面会包含多个环境,然后jupyter notebook里面需要用kernel来执行notebook里面的代码,这里我们将CLRS_Code注册成kernel,然后启动jupyter notebook之后连接上jupyter服务,并且我们使用对应当前环境的kernel来编写代码,这样就没有任何问题了

同时上图也解释了anaconda、jupyter notebook、环境、kernel之间的联系

这里提一下怎么把anaconda环境注册到kernel里面:

  1. 首先切换到要注册的环境
  2. 然后pip install ipykernel
  3. 然后python -m ipykernel install --name kernel名

参考

修改jupyter notebook 启动目录: https://blog.csdn.net/yuanxiang01/article/details/79217469

将当前环境注册为kernel:https://blog.csdn.net/june_young_fan/article/details/85100578

jupyter notebook介绍:https://medium.com/python4u/jupyter-notebook%E5%AE%8C%E6%95%B4%E4%BB%8B%E7%B4%B9%E5%8F%8A%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E-b8fcadba15f

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172868.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea设置注解格式_idea添加类注释

    idea设置注解格式_idea添加类注释开发过程中经常看到源码中的注释,感叹大佬的注释为何写得那么清新脱俗,决定简单研究一下IDEA中的注释本文主要分为三个部分:注释的显示状态切换如何在注释中添加超链接注释状态切换:之前看大佬们的注释都是:而我的注释:为何源码中别人的注释和自己写的注释显示效果完全不一样呢其实是设置问题而已(今天才知道…尴尬了)点击图中的铅笔就可以切换为注解源码,效果如下:再点击图中左上角的图标就切换回了注释的阅览视图…

    2022年9月27日
    2
  • 关于group by的基础用法和原理

    关于group by的基础用法和原理写在前面的话:用了好久groupby,今天早上一觉醒来,突然感觉groupby好陌生,总有个筋别不过来,为什么不能够select*fromTablegroupbyid,为什么一定不能是*,而是某一个列或者某个列的聚合函数,groupby多个…

    2022年5月18日
    38
  • 基础教程:TCP连接的建立和释放

    基础教程:TCP连接的建立和释放

    2022年3月6日
    97
  • linux抓包和分析工具_linux tcpdump 抓包

    linux抓包和分析工具_linux tcpdump 抓包实践中,通常在Linux里用tcpdump命令抓包,然后在Windows里用wireshark软件分析包。较通用的tcpdump命令:tcpdump-ieth0-s0-wpackage.cap注[对eth0进行完整数据包抓取,数据包输入保存到当前目录package.cap中,因为没有-c参数限制,须按Ctrl+C停止抓包]—————–

    2022年10月14日
    2
  • 三立[通俗易懂]

    三立[通俗易懂]自传173、在佳木斯上网写作2013年1—-互动百科二零一三年一月起,我在佳木斯市的上网写作进入了第七年时间,钰香妻在市健身房练打乒乓球,照看外孙女和管理家务吃喝用穿。大女儿女婿在厦门外国语学校,二女儿女婿在本市文化公司上班。儿子在大连工业大学,儿媳在大连银行,孙女在北京上大学二年。2013、1、1星期二写《新年(七古)》:平平静静日历翻,新页…

    2022年5月4日
    69
  • stream.map的用法_stream

    stream.map的用法_stream使用Stream流时发现其中的map方法使用不好容易理解,以一个小案例详细探讨Stream中map的使用。案例涉及知识点:1、Stream中of方法传入可变参数2、Stream中map元素类型转化方法3、Function匿名接口,自定义类匿名对象的使用4、Lambda表达式为了便于理解,首先借鉴其他博客中的说法,stream()优点无存储。stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/Ochannel等。为函数式编程而生。对strea

    2022年9月8日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号