Python 模块";x";“没有属性”;“y”;,创建我自己的module.py

Python 模块";x";“没有属性”;“y”;,创建我自己的module.py,python,module,Python,Module,我正在尝试创建我自己的模块(mi_modulo.py),并将我在Jupyter笔记本脚本中定义的所有函数移到那里,以便它看起来更干净 但是,当我尝试使用我已经移动到模块中的这些功能时,我无法全部使用它们,我收到以下消息: 模块“mi模块”没有属性“train4\u数据导入” 我已经安装了Anaconda3.0,并通过Jupyter笔记本运行Python 3.7.0。(请原谅,如果这些表达式听起来有点笨拙,我懂一点Python,但我并不真正了解所有的安装、软件、IDE等细节。) 这就是我得到的:

我正在尝试创建我自己的模块(mi_modulo.py),并将我在Jupyter笔记本脚本中定义的所有函数移到那里,以便它看起来更干净

但是,当我尝试使用我已经移动到模块中的这些功能时,我无法全部使用它们,我收到以下消息: 模块“mi模块”没有属性“train4\u数据导入”

我已经安装了Anaconda3.0,并通过Jupyter笔记本运行Python 3.7.0。(请原谅,如果这些表达式听起来有点笨拙,我懂一点Python,但我并不真正了解所有的安装、软件、IDE等细节。)

这就是我得到的: (我本来打算展示一张图片,但我不知道如何使用这种新的表单样式)

我现在得到以下错误:

whatever


NameError                                 Traceback (most recent call last)
<ipython-input-25-e1885200beb7> in <module>()
      3 hola_mundo()
      4 
----> 5 train4_data_import("Tren4.xlsx")

NameError: name 'train4_data_import' is not defined
不管怎样 NameError回溯(最近一次呼叫上次) 在() 3 hola_mundo() 4. ---->5列车4数据导入(“Tren4.xlsx”) NameError:未定义名称“train4\u数据\u导入”
这可能是因为您没有按Ctrl+S或点击文件上的“保存”按钮,如果您这样做,它可能会工作:

Ctrl+S

或保存按钮


然后运行
script.py
并查看它是否工作:-)

在jupyter笔记本中,有时需要重新启动内核以导入所有未保存的模块。此外,您还需要导入该模块中自定义模块的所有依赖项。

能否重新启动内核并重试?它可以找到hola_mundo(),因此它还应该找到train4_data_import。另外,请确保先保存mi_模。也许你编写了这个函数,但没有保存它。重新启动内核确实起到了作用。伟大的最后一件事,在使用模块时,似乎我应该在模块本身中导入我在该模块中使用的所有包(numpy、pandas…),对吗?在导入我的模块之前,将它们导入笔记本是不够的,我还应该将它们包含在模块中。是的,你应该将熊猫导入mi_模块,否则它将不起作用。太好了。我想我应该给你一个“正确答案”奖,但我不知道怎么做,因为你没有正确的答案,只有一个评论。有没有办法解决这个问题?我添加了我的评论作为答案
whatever

AttributeError                            Traceback (most recent call last)
<ipython-input-18-69a38929f7e6> in <module>()
      3 mi.hola_mundo()
      4 
----> 5 mi.train4_data_import()

AttributeError: module 'mi_modulo' has no attribute 'train4_data_import'
import pandas
from mi_modulo import *

hola_mundo()

train4_data_import("Tren4.xlsx")
whatever


NameError                                 Traceback (most recent call last)
<ipython-input-25-e1885200beb7> in <module>()
      3 hola_mundo()
      4 
----> 5 train4_data_import("Tren4.xlsx")

NameError: name 'train4_data_import' is not defined