加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:28:21 所属栏目:Python 来源:网络整理
导读:这里有另一个Python新手. 目前,我在anaconda框架中使用Jupypter笔记本. 为了使用iPython Notebook继续我的项目, 我需要在笔记本上运行一些python脚本(tp.py文件). from tp import wordtoplural 因为,它使生活变得更容易,而不是在笔记本本身定义所有功能. 我
这里有另一个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()调用它也将失败,如果发生这种情况,你还必须重新加载内核.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读