python - 不同笔记本中的 Jupyter 类?
问题描述
在我刚刚使用 PyCharm 之前,我目前被迫在一个项目中使用 jupyter notebook。所以我创建了一个项目并想向它添加一些类。我应该将它们全部写在一个主笔记本上还是为每个班级创建不同的笔记本?据我了解,jupyter 不是为一个项目使用多个笔记本而设计的(但我认为有一些选项),但是如果我想将我的一些类更通用地用于其他项目,那么没有它是没有意义的单独的笔记本对吗?
对不起,也许我对 jupyter 有一个基本的误解,但我还不知道,什么是最好的方法。
解决方案
Jupyter 很乐意让您在其他笔记本中使用多个库。您可以在此处找到文档。
但是,如果您想将项目移出命令行可执行文件,您可能需要考虑将笔记本导出为 .py 文件,然后将它们作为标准 python 库导入。Jupyter 对此有一个nbconvert方法。
我经常这样做,最后编写了一个小脚本,添加适当的 hashbang 行并删除任何 Jupyter“魔术”命令。你可以在github上找到它。
用法:./nbconvert myNotebook.ipynb
还有一些出色的 Jupyter 魔术命令可以让使用库变得更加容易。
# cause chagnged modules to be reloaded at execution
# add this to any notebook that sources an external .py file
%load_ext autoreload
%autoreload 2
我也觉得这很有用:
# set %magic alias to convert the current notebook into a .py file
%alias nbconvert ~/devtools/nbconvert thisNotebook.ipynb
用法:
%nbconvert
[NbConvertApp] Converting notebook searchTools.ipynb to python
推荐阅读
- reactjs - React Native with TypeScript Error无法解析模块
- oracle - 如何从存储在 clob 列中的 url 中提取值
- linux - 为什么詹金斯不能在 docker 容器中使用 DNS?
- python - 如何使用 python 创建 struct c 并在套接字上发送
- gcc - 覆盆子:icecc 并将本机 gcc 编译器与 gcc 交叉编译器混合
- php - 如何创建到 Stripe 结帐页面的 url?
- ios - SwiftUI 使用 NavigationLink 调试列表单元格
- kotlin - 如何通过 gradle 任务执行具有依赖注入的特定类方法?
- python - Flask-Dropzone 上传后异步更新页面内容
- android - RN Android - 无法将没有 YogaNode 的子代添加到没有测量功能的父代