赞美Pycharm,并记录我踩过的所有坑
只有 Pycharm 的 Professional 版才支持 Jupyter Notebook,请注意版本
Pycharm的Professional版有官方学生免费:Free Educational Licenses - Community Support,在读书的同学请务必一试,亲测学信网下载个在读证明就行
Pycharm有着丝般顺滑的代码补全功能,能大大提升效率,作为IDE的各种高级功能(比如变量预览,代码调试)也非常棒!你的notebook文件还能很方便地和.py文件联动开发,体验远超Jupyter Notebook加插件,安利大家都试一试。
注:至2022年10月,Pycharm尚不支持直接在jupyter notebook的Markdown单元中粘贴图片,需要你手动写链接插入,这是我目前觉得它唯一逊色于Jupyter Notebook自带的那个浏览器IDE的功能
按教程走一遍配置好Pycharm应该不用半天,但我真诚推荐你选个很闲很有空的时间再去尝试把你的工作流迁移过来。因为更换IDE这事是有学习成本的,先拿无关紧要的小东西适应个半个月再开始用Pycharm编辑你学习/工作要用的项目会更好,不然一点小问题可能就很让人崩溃。这是个无责任教程,不包售后。
预备步骤
环境:Win 10,Python 3.10,Anaconda 2022.05,Jupyter Notebook 6.4.12,Pycharm Professional 2022.1.4
在Pycharm中新建Python项目
这里我使用的Python环境管理工具是Conda,安装了Anaconda的话应该会在”使用此工具新建环境这一栏“自动跳出来的,可以自己定义
右键你的项目名,新建一个JupyterNotebook文件
然后打开这个Notebook 文件(我随便起了个名叫abcd),看上方工具栏,有个托管的Jupyter服务器选项,点它,进去配置
这里选配置的服务器
这里要填你的Jupyter服务器链接,所以我们下一步去复制一个
连接你的Jupyter内核(服务器)
命令行输入,打开你的Jupyter内核(服务器)
jupyter notebook
这一步用Anaconda的话注意在Anaconda Prompt里输入
会有很多代码跳出来,不用管他,找红框的部分,两行链接随便选一个复制好,这是你的Jupyter服务器(内核)地址和token,粘贴进上一步的Pycharm设置框里
警告:这个命令行窗口一直到你今天保存完你写的所有东西,停止所有Jupyter Notebook的运行之前都不要关闭
你的Jupyter Notebook实质是运行在这个窗口里的,Pycharm只是提供了一个友好的代码编辑器界面和一些方便你编辑的功能。
(当然你如果真关了,看下面有办法)
p.s. 打开内核时同时跳出来的浏览器页面可以关掉的,不要紧
现在你的Pycharm应该长这个样子,点确定就行
以后每次新建项目都要新配置一次这个链接的哦
如果你关闭过Jupyter内核,再次运行配置过链接的项目,会让你输入一个令牌
同样在命令行里复制粘贴就好,注意这次只要token=后面的内容
设置密码并保存让连接一劳永逸
这里改设置的时候,你的jupyter内核需要关闭,改完重启
命令行生成jupyter配置文件
Anaconda记得走Anaconda Prompt
jupyter notebook --generate-config
如果以前配置过的,不用新生成,注意不要覆盖掉了旧的,直接按下一步添加就行
命令行会自己输出生成的jupyter_notebook_config.py路径的,拿个记事本打开它
命令行生成你自定义的密码的哈希字符串
#进入Python解释器
python
from notebook.auth import passwd
passwd()
注意:这里输入密码的部分是不会显示的,盲打就行
应该长这样
把生成的单引号里的东西复制出来,贴到jupyter_notebook_config.py文件如图箭头所示的位置
tips:可以按Ctrl+F搜索passwd快速定位
重启你的jupyter内核,然后打开你的Pycharm,还是运行一下文件,和之前一样的,Pycharm会问你要密码或者token
这里输你刚才设的密码,然后选记住就能一劳永逸了
想切换Python环境
在Pycharm右下角,找到解释器设置
后面根据你的环境管理工具不同步骤都不一样,这里只介绍一下Anaconda怎么用
选齿轮-添加
在左侧选conda
这里默认新环境,想新建一个的话很简单直接确定就行,不截图啦。
下面我们来看怎么把Anaconda里已经建好的环境导入进来。
右边选现有环境,选路径…
按路径选你的Python解释器,我这里示例的环境名叫 dirtyenv
点确定,这个环境就显示在你的Pycharm里了,你可以自由地在右下角进行切换
想切换Jupyer Notebook的环境
注意:Jupyter Notebook 里的代码运行在你的 Jupyter 内核里,用的是Jupyter内核正在使用的环境,和Pycharm里设置的python环境指的不是一件事!
p.s. 当然,你可以配置你的Jupyter内核让它和你的python用同一个环境
这里给环境安装ipykernel包的时候,你的jupyter内核需要关闭,改完重启
用命令行在你的conda里创建一个环境,切换到新环境,或者是直接切换到现有的环境,安装ipykernel
conda install ipykernel
安好之后,重启你的 Jupyter内核,在Pycharm里打开任意Jupyte Notebook 文件,找上方工具栏右侧的小三角
鼠标移过去会有更多工具栏,选红框里点击下拉,你装过ipykernel了的环境应该会自动显示在这里,选择就可以自由切换了
以后每次新建环境,这个新环境都要重新安装一次ipykernel包的哦
配置完成
让我们随便敲点啥试一下
你成功了!Happy Coding!
用好Pycham的各项功能,推荐阅读:
IDE里也有自带的入门教程,可以上手试一试
一些疑难杂症
如果你的Notebook不能import同一个项目目录下的.py文件
在Notebook里添加当前项目路径到系统路径
# 添加项目路径到path
import sys
currentPath = "【你的项目路径】"
#print(currentPath)
sys.path.append(currentPath)
如果你的Notebook运行时不能实时反应import的.py文件的代码变化
特别是当你同时在.py文件里写写改改然后在Notebook里尝试运行它的时候
在Notebook里添加自动重新加载
%load_ext autoreload
%autoreload 2