模块“ x”没有属性“ y”,创建了我自己的模块.py

时间:2018-12-27 08:38:44

标签: python module

我正在尝试创建自己的模块(mi_modulo.py),并将在Jupyter Notebook脚本中定义的所有功能移到那里,以使其看起来更干净。

但是,当我尝试使用已经移到模块中的这些功能时,我无法全部使用它们,并且收到以下消息: 模块'mi_modulo'没有属性'train4_data_import'

我已经安装了Anaconda 3.0,并且正在通过Jupyter Notebook运行Python 3.7.0。 (请原谅我,如果表达式听起来很尴尬,我对Python有一点了解,但是我并不真正了解所有的安装,软件,IDE等详细信息。)

## mi_modulo.py ##

def train4_data_import(file_name):

    df = pandas.read_excel(file_name)

    force = df["Signal 1"].values[13:]
    acceleration1 = df["Signal 2"].values[13:]
    acceleration2 = df["Signal 3"].values[13:]

    return force, acceleration1, acceleration2

def hola_mundo():
    print("whatever")

## script ##

import pandas
import mi_modulo as mi

mi.hola_mundo()

mi.train4_data_import("Tren4.xlsx")

这就是我得到的: (我本来要显示图像,但是我不确定如何使用这种stackoverflow新表单样式来做到这一点)

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'

我不明白为什么它能够读取一个功能而不能读取另一个功能。

----------------------------- 编辑1 --------- -------------------

执行U9转发建议:

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

2 个答案:

答案 0 :(得分:1)

可能是因为您没有按Ctrl + S或单击文件上的“保存”按钮,如果这样做,它可能会起作用:

Ctrl + S

或保存按钮。

然后运行script.py并查看其是否有效:-)

答案 1 :(得分:1)

在jupyter-notebook中,有时您需要重新启动内核以导入所有尚未保存的模块。另外,您需要导入该模块中自定义模块的所有依赖项。