PyCharm + Jupyter + debug调试功能

PyCharm + Jupyter + debug

Jupyter是数据分析利器,但原生的jupyter并不支持debug功能。
pycharm中jupyter的debug
Jupyter的调试功能详见:官网文档。此外,配合PyCharm强大的sciview功能(例如,可以用类似excel的方式查看pandas.DataFrame),方便了数据分析。

安装

  1. 安装conda。
  2. 创建并激活一个conda环境,例如 conda create -n py37-test python=3.7
  3. conda install -c conda-forge notebook (官网上只有这一行,但是安装完启动后,发现找不到conda环境,运行的kernel是默认的python 2/3!所以需要下面第三步的命令)
  4. conda install -c conda-forge nb_conda_kernels参考博客

Q&A:问题解决

上述步骤是我尝试出来可行的方法。但在尝试过程中,出现了各种诡异的问题,例如sciview只能查看1000行、debug打断点报各种错误等等。总结如下:

Q1:jupyter安装命令

在上述安装的第三步中,我想当然的运行了下面命令,造成错误百出。例如sciview只显示1000行,debug报错、断点无效等问题。关键是下面这个安完之后,jupyter是可以运行的!小心。

conda install jupyter

Q2 debug报错:

如果出现这个提示:

“TypeError: prepare_to_run() got an unexpected keyword argument ‘enable_tracing_from_start’” when debugging a cell

参考 issue,可以将将ipykernel手动改为6.30以下。

conda install ipykernel=5.1.4

这有可能是由于我Q1的错误,导致Pycharm和jupyter协调出了问题。虽然可以像Q2这样解决,但不如重新按照正确步骤安装一遍,各种问题就会神奇地消失。

### 使用PyCharm通过SSH连接到远程服务器 为了在 PyCharm 中配置 SSH 连接以访问远程服务器,需遵循一系列设置来确保开发环境能够顺利与目标机器通信。 #### 配置SSH密钥认证 对于安全性和便捷性的考虑,在建立 SSH 连接前应先完成公钥的部署工作。这可以通过命令行操作实现: ```bash cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go=~/.ssh && cat >> ~/.ssh/authorized_keys" ``` 此指令会将本地用户的 `id_rsa.pub` 文件中的公钥追加至远程主机上的 `.ssh/authorized_keys` 文件内[^1]。 #### 设置PyCharm项目解释器为远程Python解释器 打开 PyCharm 的偏好设置窗口,导航到构建、执行和部署部分下的 Python 解释器选项卡。点击齿轮图标并选择“Add”,之后挑选“SSH Interpreter”。此时需要输入远程服务器的相关信息,包括但不限于 IP 地址或域名、端口号(默认22)、用户名以及私钥路径用于身份验证。 #### 安装调试辅助工具包 为了让 IDE 支持远程调试功能,还需上传特定版本的 debug eggs 到服务器上。这些文件通常位于应用程序目录下 `/Applications/PyCharm.app/Contents/debug-eggs` (针对 macOS 系统)。利用 FTP 或者其他传输方式把相应的egg文件放置于服务器指定位置,并按照官方文档指示安装该软件包[^2]。 #### 调整SSH配置忽略`.rhosts` 和 `.shosts` 文件 如果希望进一步增强安全性,则可以在客户端的 SSH 配置文件中加入如下参数: ```plaintext IgnoreRhosts yes ``` 这样可以防止 HostbasedAuthentication 方法依赖于不推荐使用的 `.rhosts` 及 `.shosts` 文件进行权限校验[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值