想在Jupyter Notebook(Anaconda)中保存并运行Python脚本

前端之家收集整理的这篇文章主要介绍了想在Jupyter Notebook(Anaconda)中保存并运行Python脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里有另一个Python新手.
目前,我在anaconda框架中使用Jupypter笔记本.

为了使用iPython Notebook继续我的项目,

我需要在笔记本上运行一些python脚本(tp.py文件).

from tp import wordtoplural

因为,它使生活变得更容易,而不是在笔记本本身定义所有功能.

我怎么能这样做,目前导入错误发生在我的代码上.

ImportError: cannot import name wordtoplural

> iPython笔记本和python脚本(.py)位于同一文件夹中.
>在该目录中也添加了空的__init.py__文件.

解决方法

确保您的ipython笔记本与python脚本位于同一文件夹中.此外,您可能必须在与python脚本相同的文件夹中创建一个空的__init__.py文件,以使导入工作.

由于您可能正在修改您的python脚本并直接在您的笔记本上进行测试,您可能会对autoreload插件感兴趣,该插件将使用您在python脚本中所做的更改自动更新导入的模块:

%load_ext autoreload
%autoreload 2

请注意,您需要在调用autoreload插件后放置导入.

另请注意,在某些情况下,您可能需要在IPython笔记本中将其添加到第一个单元格的最顶部(在%magics之后):

from __future__ import absolute_import

限制:autoreload通常可以很好地重新加载模块代码的任何部分,但是有一些例外,例如新类方法:如果添加或更改方法名称,则必须重新加载内核!否则它将继续加载此方法的旧定义或在解决方案中失败(未找到方法),当您重载魔术方法时可能会特别困惑(因此在这种情况下,将调用默认魔术方法而不是您的定义!).然后一旦定义了方法名并重新加载了内核,就可以自由地修改这个方法代码,新代码自动重新加载.

如果你在更改的类中使用super()调用它也将失败,如果发生这种情况,你还必须重新加载内核.

猜你在找的Python相关文章