手机上运行.ipynb文件只有两种可靠方式:①Pydroid 3启用Jupyter支持后本地执行,需手动开启设置并调用plt.show();②通过Termius SSH连接远程Jupyter服务,须配置安全组、后台启动及端口监听。

手机上直接编辑和运行 .ipynb 文件用 Pydroid 3
Pydroid 3 是目前 Android 端最稳定、开箱即用的方案,它自带 Jupyter 内核(无需额外部署服务器),能直接打开、编辑、保存和运行本地 .ipynb 文件。
常见错误现象:安装后点开 .ipynb 文件显示空白或报错 ModuleNotFoundError: No module named 'notebook' —— 这是因为默认未启用 Jupyter 支持。
- 打开 Pydroid 3 → 右上角菜单 → Settings → 找到 Jupyter Notebook 开关并启用
- 重启 Pydroid 3,再通过文件浏览器点击
.ipynb文件即可加载(首次加载稍慢) - 编辑时支持 Markdown 和 Code 单元格切换:
Esc进入命令模式,按Y或M切换单元格类型 - 运行单元格:长按单元格左侧灰色区域 → 选 Run cell;或点击顶部工具栏三角图标
- 注意:Pydroid 3 的 Jupyter 内核不支持
%matplotlib inline自动绘图,需显式调用plt.show()
用 Termius + SSH 连远程 Jupyter 服务
如果你已在服务器上配置好 Jupyter(比如阿里云 ECS),手机端只需连上去操作 Web 界面,代码实际仍在服务器执行 —— 这是更可靠、性能更强的方式。
容易踩的坑:jupyter notebook --allow-root 启动后访问 http://<server-ip>:8888</server-ip> 提示 Connection refused,大概率是安全组没放行端口或服务没后台常驻。
- 用 Termius 连服务器后,先确认服务是否在运行:
ps aux | grep jupyter - 若已退出,重新启动并后台运行:
nohup jupyter notebook --allow-root & - 检查端口监听:
netstat -tuln | grep 8888,确保有0.0.0.0:8888或*:8888 - 浏览器访问前,务必在云平台安全组中添加入方向规则:端口
8888,协议TCP,源 IP 建议设为0.0.0.0/0(测试用)或你的手机公网 IP - 密码输错三次会被锁住,此时需重进服务器删掉
~/.jupyter/jupyter_notebook_config.py中的c.NotebookApp.password行再重启
别指望浏览器里直接“上传并运行”IPYNB
Chrome / Safari 在手机端打开 Jupyter 官网或 GitHub 上的 .ipynb 文件,只能看源码或渲染成静态网页,**无法执行任何代码** —— 因为没有后端内核支撑。
有人试过用 GitHub + JupyterLite,但目前(2026 年)仍受限于浏览器沙箱,不支持 torch、pandas 等依赖 C 扩展的包,且无法读写本地文件。
- 真正能“运行”的只有两类场景:① Pydroid 3 本地内核;② 连真实服务器的 Jupyter Web 界面
- 用 GitHub 链接分享 notebook?建议导出为
.py或.html再发,避免对方误以为可交互 - 如果 notebook 里用了
%run xxx.py或!ls,Pydroid 3 能执行,但路径是沙盒内的/storage/emulated/0/,不是你想象的“当前目录”
为什么不能用 QPython 或 AIDE 直接跑 notebook?
QPython 3L 和 AIDE 虽然支持 Python 解释器,但它们**没有集成 Jupyter 内核进程管理能力**,也缺少 WebSocket 通信层,无法响应 notebook 前端发来的 execute_request 消息。
你可能会看到类似错误:Connection to kernel failed: Error: connect ECONNREFUSED 127.0.0.1:XXXX —— 这不是端口问题,是根本没启动 kernel。
- QPython 仅支持单个
.py文件运行,不解析.ipynbJSON 结构 - AIDE 默认 Python 版本太低(如 3.5),而 notebook 内核要求至少 Python 3.7+
- 即使手动 pip install notebook,也会卡在
ipykernel install步骤,因缺少 root 权限写入系统 kernel 目录
真正麻烦的从来不是“怎么打开”,而是“状态怎么保持”:Pydroid 3 切后台太久会杀进程导致 kernel 断连;SSH 方式依赖网络稳定性,地铁里断连一次就得重输密码。这两个点,文档里几乎从不提,但每天都在发生。


















