jupyter函数调用不成功怎么办

img


def Func():
if name == 'main':
print('Hello, 我正在自己执行函数,我的密码是1234')
elif name == 'hi':
print('我在被别人调用。’)
import hi
hi.Func()


ModuleNotFoundError Traceback (most recent call last)
in ()
----> 1 import hi
2 hi.Func()

ModuleNotFoundError: No module named 'hi'

【以下回答由 GPT 生成】

问题解决思路如下:

首先,检查一下问题代码中的语法错误。在问题代码中,if语句中的__name__的值应该是__main__而不是main__name__是一个特殊变量,它在被直接执行时的值是__main__,而被导入时的值是模块的名称。所以将if __name__ == 'main'修改为if __name__ == '__main__'

接下来,检查一下导入模块的路径是否正确。根据错误信息ModuleNotFoundError: No module named 'hi'可以看出,在导入hi模块时出现了找不到模块的错误。这可能是因为hi模块的路径没有包含在Python解释器的搜索路径中。可以使用sys.path.append()hi.py所在的路径添加到Python解释器的搜索路径中。

最后,在Jupyter Notebook中,需要先执行定义函数的代码块(包括导入模块的代码块),然后才能调用函数。确保你按照正确的顺序运行了代码块。

下面是修改后的代码:

import sys
sys.path.append('hi.py')

def Func():
    if __name__ == '__main__':
        print('Hello, 我正在自己执行函数,我的密码是1234')
    elif __name__ == 'hi':
        print('我在被别人调用。')

运行上述代码块,并且确保hi.py文件在相应的路径下,然后再调用Func()函数即可。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^