使用Google Cloud Platform中的jupyter笔记本的Python模块和软件包

问题描述 投票:2回答:3

我在Google Cloud Platform中使用Google CloudDatalab中的Jupyter笔记本作为我的Python脚本。这会创建.ipynb文件。

我希望能够使用Jupyter笔记本创建模块和包,但它无法导入脚本。

例如:

mymodule.ipynb有这个:

def test_function():
    print("Hello World")

然后在myscript.ipynb中,当我尝试导入上面的内容时:

from mymodule import test_function

它抛出一个错误:

*()中的ImportError Traceback(最近一次调用最后一次)

----> 1来自mymodule import test_function ImportError:没有名为mymodule的模块*

如何使用Jupyter笔记本创建模块和包?

python jupyter-notebook google-cloud-datalab
3个回答
1
投票

笔记本不能用作模块。您需要创建一个python文件(例如mymodule.py)。

如果你想要你可以在一个jupyter笔记本中做到这一点:

with open('mymodule.py', 'w') as f:
    f.write('def test_function():')
    f.write('    print("Hello World")')

from mymodule import test_function
test_function()
# Hello World

1
投票

您不能以与Python文件(包)相同的方式导入Jupyter Notebook。

检查此链接:https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Importing%20Notebooks.html


0
投票

我收到了另一个回答我问题的论坛的回复。这是答案:

将模块代码放入.py文件中,并确保它与myscript.ipynb位于同一目录中。要从笔记本中当前的代码创建.py文件,您可以从Jupyter中将其作为.py文件下载并在您选择的文本编辑器中进行整理。请记住,import语句是纯Python语法。它一无所知 - 并且不想知道任何关于 - jupyter笔记本。它正在寻找一个.py文件。

这解决了这个问题。

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.