Python 为什么在运行文件时会出现此可调用错误?

Python 为什么在运行文件时会出现此可调用错误?,python,anaconda,jupyter,iot,Python,Anaconda,Jupyter,Iot,当我试图从名为“weather”的anaconda虚拟环境运行python文件时,我遇到了这个可调用的错误问题。我从达尼奥内斯库那里得到了这个项目的想法。我的项目理念基本上是一个物联网气象站。当我在创建天气预报模型后尝试运行“predict.py”文件时,我得到了这个错误 我已经做了一些研究。我试着使用spyder,但没有得到任何线索。我目前正在使用“JUPYTER笔记本”进行地震预测。但为了预测天气,我用的是蟒蛇。 存储库的链接是: 预期的结果是,当我在anaconda中运行此脚本时,我应该在

当我试图从名为“weather”的anaconda虚拟环境运行python文件时,我遇到了这个可调用的错误问题。我从达尼奥内斯库那里得到了这个项目的想法。我的项目理念基本上是一个物联网气象站。当我在创建天气预报模型后尝试运行“predict.py”文件时,我得到了这个错误

我已经做了一些研究。我试着使用spyder,但没有得到任何线索。我目前正在使用“JUPYTER笔记本”进行地震预测。但为了预测天气,我用的是蟒蛇。 存储库的链接是:

预期的结果是,当我在anaconda中运行此脚本时,我应该在我的电子邮件id上获得一个字符串形式的预测: python predict.py——8小时粒度6后的数据点——从addr a_gmail_地址——从密码gmail_密码——到addr a_电子邮件_目的地 此外,当我试图打印“提取的数据”时,在输出中我什么也没有收到

我收到错误,因为对象“模块”不可调用 参与此错误的文件的链接为:

(weather)PS C:\Users\sanch\home automation\weather predict>python predict.py--8小时后的数据点粒度6--来自addrsanchitjain200327@gmail.com--从密码88005337--到地址sanchitjain2003@gmail.com
使用TensorFlow后端。
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:523:FutureWarning:Passing(type,1)或'1type'作为type的同义词不推荐使用;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
_np_qint8=np.dtype([(“qint8”,np.int8,1)])
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:524:FutureWarning:Passing(type,1)或'1type'作为type的同义词不推荐使用;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
_np_quint8=np.dtype([(“quint8”,np.uint8,1)])
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:525:FutureWarning:Passing(type,1)或'1type'作为type的同义词不推荐使用;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
_np_qint16=np.dtype([(“qint16”,np.int16,1)])
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:526:FutureWarning:不推荐将(type,1)或“1type”作为类型的同义词传递;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
_np_quint16=np.dtype([(“quint16”,np.uint16,1)])
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:527:FutureWarning:Passing(type,1)或'1type'作为type的同义词不推荐使用;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
_np_qint32=np.dtype([(“qint32”,np.int32,1)])
C:\Users\sanch\Anaconda3\envs\weather\lib\site packages\tensorflow\python\framework\dtypes.py:532:FutureWarning:不推荐将(type,1)或“1type”作为类型的同义词传递;在numpy的未来版本中,它将被理解为(type,(1,)/“(1,)type”。
np_resource=np.dtype([(“resource”,np.ubyte,1)])
回溯(最近一次呼叫最后一次):
文件“predict.py”,第32行,在
args['hour\u granularity'],args['data\u source'])。尾部(1)
文件“C:\Users\sanch\home automation\weather predict\utils\PreparedDataProvider.py”,第26行,在get中
cleanup\u processor=cleanup处理器(传感器类型、自身数据特征)
TypeError:“模块”对象不可调用
更新:

如果您打印钥匙,您将能够看到问题。 您正在使用字典列表,下面的代码也给出了相同的错误。它应该对你有帮助

import pandas
list1 = []
my_dict1 = {'col1': [1, 2], 'col2': [3, 4]}
my_dict2 = {'col1': [11, 12], 'col2': [13, 14]}
my_dict3 = {'col1': [21, 22], 'col2': [23, 24]}

list1 += my_dict1
list1 += my_dict2
list1 += my_dict3
d = pandas.DataFrame(list1).set_index('col1')
print(d)
错误: 回溯(最近一次呼叫最后一次): 文件“/Users/dr412113/PycharmProjects/test/test.py”,第13行,在 d=pandas.DataFrame(list1).set_索引('col1') 文件“/usr/local/lib/python3.7/site packages/pandas/core/frame.py”,第4391行,在set_索引中 raise KeyError(“列中没有任何{}”。格式(缺少)) KeyError:“['col1']中没有一个在列中”

仅供参考,只需打印数据框

d = pandas.DataFrame(list1)
print(d)

Output:

      0
0  col1
1  col2
2  col1
3  col2
4  col1
5  col2

您需要在问题中包含完整的错误回溯,因为这有助于发现问题。先生,weather predict的json文件中有一列名为“\u id”。您能否在第34行添加断点并打印提取的\u数据。请打印“提取的数据”并共享输出。我现在收到了这个错误:回溯(最近一次调用):文件“C:\Users\sanch\Downloads\home automation master\home automation master\weather predict\utils\PreparedDataProvider.py”,第6行,在from data_processing.AggregateEnrichProcessor import AggregateEnrichProcessor ModuleNotFoundError:没有名为'data_processing'的模块我尝试了您所说的一切,在输出中我没有得到任何结果
 extracted_data = [] is an empty list.
 extracted_data += datapoints >>> here you might be making it a list of dictionaries.

 dataframe = pandas.DataFrame(extracted_data).set_index('_id')
 >>> set_index expects a column name, i think thats the mistake. there might be no column with name= '_id'.
import pandas
list1 = []
my_dict1 = {'col1': [1, 2], 'col2': [3, 4]}
my_dict2 = {'col1': [11, 12], 'col2': [13, 14]}
my_dict3 = {'col1': [21, 22], 'col2': [23, 24]}

list1 += my_dict1
list1 += my_dict2
list1 += my_dict3
d = pandas.DataFrame(list1).set_index('col1')
print(d)
d = pandas.DataFrame(list1)
print(d)

Output:

      0
0  col1
1  col2
2  col1
3  col2
4  col1
5  col2