是否可以从Jupyter上的另一个Python文件调用函数?

时间:2018-06-29 12:53:10

标签: python jupyter-notebook jupyter

在Jupyter上创建Python脚本时,是否可以从另一个Python文件中调用函数?

当我尝试打电话时,它可以在Terminal上运行,但不能在Jupyter上运行。

3 个答案:

答案 0 :(得分:1)

首先,如果您已经在使用其他文件,建议您停止使用jupyter甚至终端。

您可以改用Pycharm

如果您只是在学习,可以使用jupyter,但如果您已经处于该阶段,建议您坚持使用Pycharm。

Pycharm是一个不错的IDE,您可以在其中直接运行文件,并具有许多更酷的功能。

此外,要在jupyter中使用它,只需导入所需的文件:

import #whatever file you want

答案 1 :(得分:0)

例如,假设我有一个Person.py文件,它位于我当前的jupyter笔记本的工作目录中。此外,假设它很简单,就在这里

def get_rss(y, x):
    x = sm.add_constant(x)
    results=sm.OLS(y, x).fit()
    rss= (results.resid**2).sum()
    N=results.nobs
    K=results.df_model
    return rss, N, K, results

def myfunc(d):
    print("Hello my name is " + d)

当我尝试致电时,它可以在Terminal上运行,但不能在Jupyter上运行。 当我尝试将其命名为import Person时,它可以在Jupyter单元格上使用,但是无法访问其中的函数。

例如,如果您尝试在Jupyter Notebook中编写此内容,则在键入此内容后可能会收到此消息     Person.myfunc('ds')

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-60-63fdc0f35859> in <module>
----> 1 Person.myfunc('ds')

AttributeError: module 'Person' has no attribute 'myfunc'

我的建议

重新启动内核,这应该可以消除此问题。我希望这也可以澄清您的问题,也可以作为答案。

答案 2 :(得分:0)

只需重新启动内核,它就可以正常工作:)