Python Jupyter类在不同的笔记本中?

Python Jupyter类在不同的笔记本中?,python,class,oop,jupyter-notebook,jupyter,Python,Class,Oop,Jupyter Notebook,Jupyter,在我刚刚使用PyCharm之前,我目前被迫在一个项目中使用jupyter笔记本。 因此,我创建了一个项目,并希望向其中添加一些类。我应该把它们都写在一个主笔记本上,还是为每个班级创建不同的笔记本? 据我所知,jupyter不适合在一个项目中使用多个笔记本(但我不知道有选择),但如果我想在其他项目中使用一些更通用的课程,那么不将其放在单独的笔记本中是没有意义的,对吗 对不起,也许我对jupyter有一个基本的误解,但我还不知道,最好的方法是什么 您不一定需要笔记本电脑,您可以使用类实现创建.py文

在我刚刚使用PyCharm之前,我目前被迫在一个项目中使用jupyter笔记本。 因此,我创建了一个项目,并希望向其中添加一些类。我应该把它们都写在一个主笔记本上,还是为每个班级创建不同的笔记本? 据我所知,jupyter不适合在一个项目中使用多个笔记本(但我不知道有选择),但如果我想在其他项目中使用一些更通用的课程,那么不将其放在单独的笔记本中是没有意义的,对吗


对不起,也许我对jupyter有一个基本的误解,但我还不知道,最好的方法是什么

您不一定需要笔记本电脑,您可以使用类实现创建.py文件,例如myclass.py,然后正常地导入myclass

Jupyter将允许您在其他笔记本电脑中使用多个库。您可以找到文档
但是,如果您想将项目移至命令行可执行文件,您可能需要考虑导出笔记本作为.pY文件,然后导入它们作为标准Python库。Jupyter对此有一个方法

我经常这样做,最后编写了一个小脚本,添加了适当的hashbang行,删除了任何Jupyter“magic”命令。你可以在

用法:
/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

您可以从jupyter笔记本中导入软件包。在笔记本的同一目录中,您可以将其代码放入
yourpackage.py
。正常的python打包规则适用(即
\uuuu init\uuuuuy.py
和子目录)好的,所以如果我使用几个notbook,在jupyter中它不会被视为“糟糕的编程”?好的,你不会使用“几个笔记本”。笔记本是
*.ipynb
文件
*.py
只是普通的python文件,而不是笔记本。但是不,那很好。这实际上更好,因为你可以重用代码。太好了!感谢您提供的详细答案,现在我也明白了Imtinan Azhar想告诉我的内容。在同一个git repo中,是一个脚本,它将使用pipenv建立一个每个项目的virtualenv,该脚本将与jupyter一起工作。在使用pip之前,请确保已使用pip安装了pipenv和jupyter。