Spyder Kernel Dying

时间:2018-09-26 16:49:01

标签: sql-server pandas sqlalchemy spyder h2o

首先让我说这篇文章与该网站上的许多文章有关,而我只是为了后代而发表,并帮助添加证据说明为什么发生此特定错误。

因此,我运行了一个脚本,该脚本将数据从sql提取到数据帧中,然后执行一些操作并将输出写回到sql服务器。当我将executemany()添加到我的sqlalchemy脚本中以使用熊猫to_sql命令写入服务器时,我首先开始遇到随机的“内核死”错误。我无法一生解决这个问题。

继续往前走,我开始不使用executemany()就将大量信息写回到服务器,并收到一个错误,即在写入服务器时我有重复的主键。从历史上我知道,在从熊猫转换为水框架时存在一个已知的问题,即水框架有时会在框架中创建重复记录。当这转换回熊猫时,您仍然会拥有重复项,而将其写回到服务器时,您仍然会拥有重复项。写回我的服务器的值之一是主键,因此不能有重复的条目并导致错误。

所有这些。当我关闭executemany()时,出现错误,即主键中有重复项并且操作停止。当我打开executemany()时,出现错误消息“内核已死”。

因此,根据这些证据,我建议内核具有Died错误是另一个包/实体中的一些错误,该错误未转换回内核并导致内核死亡错误。

问题是:在这两个问题上我们在哪里?我看到的帖子大约11个月大

如果在这里不允许发布此帖子,那么在哪里可以发布这样的信息以帮助开发人员理解常见问题?

编辑:继续...

只需使用相同的脚本在jupyter中运行测试。我收到了与executemany()重复的主键相对应的错误。只是要清楚一点:在间谍程序中,我会收到“内核死亡”的信息。

但是我也收到此错误。

C:\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py in 
_execute_context(self, dialect, constructor, statement, parameters, *args)
   1169                         parameters,
-> 1170                         context)
   1171             elif not parameters and context.no_parameters:

C:\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py in 
do_executemany(self, cursor, statement, parameters, context)
    503     def do_executemany(self, cursor, statement, parameters, 
context=None):
--> 504         cursor.executemany(statement, parameters)
    505

2 个答案:

答案 0 :(得分:0)

我刚刚找到了新手解决方案。将所有项目文件复制到新目录,将Spyder设置为出厂默认值,然后在新目录中创建一个新项目!死内核复活了!

答案 1 :(得分:0)

不过,在使用 TensorFlow 时,我也遇到了类似的情况。我通过在脚本的开头添加以下代码来修复它

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'

这可能与内核多次尝试导入模块导致崩溃有关。