ipynb可以用pycharm_pycharm运行jupyter

ipynb可以用pycharm_pycharm运行jupyter背景我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫CLRS_Code然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建一个.ipynb文件,Pycharm提示我没有装JupyterPackages,然后我就在Pycharm里面装了,装完之后,搜索…

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

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

背景

我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫CLRS_Code

然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建一个.ipynb文件,Pycharm提示我没有装

Jupyter Packages

,然后我就在Pycharm里面装了,装完之后,搜索Jupyter,会出现两个启动选项。。

ipynb可以用pycharm_pycharm运行jupyter

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

Jupyter Packages

出现的Jupyter

需求

用Pycharm连接jupyter notebook服务

在Pycharm中编写

.ipynb

将当前anaconda环境注册为kernel(可选)

解决方案

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

1.启动服务

然后启动Jupyter服务的方式有三种,一种是直接运行下面的exe

ipynb可以用pycharm_pycharm运行jupyter

另一种是在anaconda的cmd里面,输入

jupyter notebook

启动服务

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

Pycharm连接jupyter

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

启动完之后,窗口会弹出来这些内容,

ipynb可以用pycharm_pycharm运行jupyter

复制这些内容,然后在Pycharm里面这一栏配置

ipynb可以用pycharm_pycharm运行jupyter

复制刚刚的内容到Configured Server里面

ipynb可以用pycharm_pycharm运行jupyter

结果

现在终于能在Pycharm里面写

.ipynb

了,很舒适,尽管会一直弹出来这个提示

ipynb可以用pycharm_pycharm运行jupyter

它意思就是当前的解释器和notebook的kernel不匹配,其实到现在也能运行,但是如果强迫症非要去掉的话,让Pycharm去注册是没用的,我之前就是想用Pycharm搞定,结果搞得非常混乱

解决方法就是 要自己去anaconda prompt里面注册,参考别人的解决方案:https://youtrack.jetbrains.com/issue/PY-36913

ipynb可以用pycharm_pycharm运行jupyter

其实就是将当前解释器注册成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,安装完之后才可以连接,画一个示意图

ipynb可以用pycharm_pycharm运行jupyter

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

同时上图也解释了anaconda、jupyter notebook、环境、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/175286.html原文链接:https://javaforall.net

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


相关推荐

  • 2020年保密在线考试答案_2022保密教育线上培训考试30题

    2020年保密在线考试答案_2022保密教育线上培训考试30题2022年度保密教育线上培训考试参考答案选择题根据工作需要,指定定密责任人可以是本机关、本单位内设机构负责人;根据刑法第398条规定,国家机关工作人员违反保守国家秘密法的规定,故意或者过失泄露国家秘密,情节严重的,处三年以下有期徒刑或者拘役;机密级国家秘密是重要的国家秘密,泄露会使国家安全和利益遭受严重的损害;涉密人员使用普通手机,正确的做法是:不在通信中涉及国家秘密、不在手机上存储、处理、传输涉及国家秘密的信息、不在涉密公务活动中开启和使用位置服务功能;泄露军事设施秘密,或者为境外的机构、组

    2022年9月22日
    2
  • js跳出循环的方法区别( break, continue, return ) 及 $.each 的(return true 和 return false)…

    js跳出循环的方法区别( break, continue, return ) 及 $.each 的(return true 和 return false)…

    2022年3月12日
    97
  • js拼接字符串遇到onclick时

    js拼接字符串遇到onclick时这个注意代码规范就好了错误的 maxData push lt divclass rating star onclick saveSurvey questionsId gt 点我 lt div gt 正确的 maxData push lt divclass rating star onclick saveSurvey que

    2025年8月9日
    2
  • 哈佛幸福课笔记!「建议收藏」

    哈佛幸福课笔记!「建议收藏」https://www.bilibili.com/video/BV1Gs411o71d?p=1记笔记的小天才!我应该多想想,如何将课程中的知识,运用到实际生活中,而不是只记录下来!Part1theimportanceofsilence,安静时刻的重要性,无论在家里还是,课堂,公司享受安静embracesilence(可能是这个课程最重要的)真正的学习,发生在你尝试分辨,什么是真正重要的,什么舍弃,什么保留,而这些都发生在安静自省时例子:连续不断进入迷宫的老鼠,

    2022年7月25日
    9
  • vmware16虚拟机安装教程win10_虚拟机安装ghostwin7

    vmware16虚拟机安装教程win10_虚拟机安装ghostwin7相对于vm15而言,vm16虚拟机它的基础上进行了全方面的改善和优化,如能够从vmx中删除图形渲染并将其作为单独的沙箱进程运行,可以增强虚拟机的安全性,还支持在WorkstationPro顶部运行的KINDkubernetes集群,与虚拟机虚拟XHCI控制器USB3.1,以及支持10Gbps等等,最值得一提的是支持暗模式,主要优势在于弱光环境下具有更高的可读性,且降低了设备屏幕的亮度,改善…

    2022年9月14日
    2
  • JS 暂时性死区

    JS 暂时性死区JS暂时性死区ES6暂时性死区引用ES6暂时性死区只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。vartmp=123;if(true){tmp=’abc’;//ReferenceErrorlettmp;}上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后…

    2022年6月30日
    25

发表回复

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

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