Jupyter Notebook:导入 .ipynb 文件并在其他 .ipynb 文件中访问其方法时出现错误。

10 浏览
0 Comments

Jupyter Notebook:导入 .ipynb 文件并在其他 .ipynb 文件中访问其方法时出现错误。

我对Jupyter Notebook还比较新。我已经玩过一段时间了。但这是我第一次尝试将另一个笔记本导入到我的主类中。

供参考,我使用的是Anaconda 4.3.1和Python v2.7。

我试图在Jupyter笔记本中复制我在Python项目中所做的内容。它需要将其他.ipynb文件(从原始的.py文件转换而来)导入其中以使用所需的相关方法。

为此,我按照Jupyter Nbviewer 步骤链接上给出的指示进行操作,这是我通过初步搜索以下stackoverflow 问题找到的。它给了我一些想法,但在一阶段之后并没有帮助我。

我将向您介绍我所采取的步骤和我尝试的示例程序。

  1. 创建一个小的.ipynb文件abc.ipynb,如下所示

    def prt_n(str):
        print(str)
    if __name__ == '__main__':
        prt_n("in abc")
    

  2. 创建一个.ipynb文件以从上面给出的Jupyter链接中导入Jupyter Notebook。假设为importer.ipynb。
  3. 运行importer.ipynb
  4. import abc
  5. str="Hello Me"
  6. 测试步骤abc.__name__结果为abc
  7. abc.prt_n(str)抛出以下错误

*---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)
 in ()

----> 1 abc.prt_n(str)

AttributeError: 'module' object has no attribute 'prt_n'*

我希望答案是Hello Me

之后,我想实际创建一个myMain.ipynb文件,在其中包括2-3个这样的笔记本,并调用它们的方法以及所需的参数。

一个这样的示例可以是一个名为efg.ipynb的文件,如下所示:

import abc
a="Hello Notebook"
abc.prt_n(a)

我还想确保是否有其他方法可以做到这一点?

注意:我已经检查了sys.executable和sys.path。两者都具有相同的Python路径值。

任何形式的帮助都欢迎!

0
0 Comments

使用 import-ipynb 在 Jupyter Notebook 中导入 ipynb 文件的简单方法如下:

1)安装 import-ipynb 库

pip install import-ipynb

2)在 Jupyter Notebook 中导入 import_ipynb,然后像导入 .py 文件一样导入 ipynb 文件

import import_ipynb

from test import print_name

print_name("your name")

然而,有些用户在尝试导入 ipynb 文件并访问其方法时会遇到错误。下面我们来分析一下这个问题出现的原因以及解决方法。

问题原因:

这个错误通常是因为没有正确设置 Jupyter Notebook 环境或导入文件的路径不正确导致的。

解决方法:

1)确保已经安装了 import-ipynb 库。可以通过在终端中运行以下命令来安装:

pip install import-ipynb

2)在 Jupyter Notebook 中导入 import_ipynb。可以在 Jupyter Notebook 的代码单元格中使用以下代码导入:

import import_ipynb

3)确保你正在使用正确的文件路径来导入 ipynb 文件。在上面的示例中,我们假设 ipynb 文件名为 test.ipynb,它与当前的 Jupyter Notebook 文件在同一个目录下。如果你的文件路径不同,你需要相应地修改导入语句中的文件路径。

通过按照上述解决方法来设置环境和导入路径,你应该能够成功导入 ipynb 文件并访问其中的方法了。

0
0 Comments

在这个问题中,出现了一个无法导入.ipynb文件并在其他.ipynb文件中访问其方法的错误。解决方法是在一个名为module的文件夹中放置所有的.ipynb文件,并在该module文件夹中创建一个__init__.py文件,以便将其作为有效的模块进行注册。然后可以使用以下命令从工作目录运行代码来导入和访问.ipynb文件中的方法:

str = "Hello Me"
import test.abc as tabc
tabc.prt_n(str)

这将输出"Hello Me"。而对于另一个.ipynb文件的导入:

import test.efg as tefg

将输出"importing Jupyter notebook from test/efg.ipynb Hello Note"。这是期望的输出。

希望这对那些遇到类似问题的人有所帮助。如果您有更好的方法,请与我分享。谢谢!

0