调试有时需要10秒。阅读30mega + 5兆泡菜后问题就开始了,用pdb调试就可以了。 甚至在“打印”的行上
有什么建议吗?
if __name__ == "__main__":
print 'loading files...',
with open(fname1, 'rb') as handle: items = pickle.load(handle)
with open(fname2, 'rb') as handle: sentences_by_id= pickle.load(handle)
print ' done!'
答案 0 :(得分:1)
我对ndarrays列表的dict有类似的问题。当列表太长时,pycharm调试器会冻结,top会显示pycharm的cpu为102%(我猜几个核心是活动的)并且需要很长时间才能解冻。没有断点的运行很好。 我的解决方案是将我在ndarrays上的所有列表转换为ndarrays,例如
<pseudo python>
for k in dict_of_lists_of_ndarrays:
dict_of_lists_of_ndarrays[k]=np.array(dict_of_lists_of_ndarrays[k])
</pseudo python>
现在情况有了很大改善。我不知道问题是什么
答案 1 :(得分:0)
我在JetBrains支持上找到this thread,建议关闭&#34;显示返回值&#34;选项(您可以在调试工具栏的设置中找到它,齿轮图标)。它为我解决了它。
答案 2 :(得分:0)
我对此进行了一些分析,还使用PyDev插件将IDE更改为Elipse。
仍然调试python程序比实际直接执行python程序要慢得多。
速度慢了多少? 我的计算密集型程序花了超过17分钟的时间,但仍然无法解决直接运行同一程序在2分钟内返回输出的问题。
我想问题出在Python Debugger,而不是IDE的Eclipse或Jetbrains Pycharm。我已经为这两者工作了很多年,所以我可以保证。
值得检查是否有明确的调试器速度设置 选项可用于Python调试器。
答案 3 :(得分:0)
对我来说,什么是将“可变加载策略”更改为“按需”的帮助。通过单击调试菜单中的小齿轮完成此操作。对于图片,请检查链接:
答案 4 :(得分:0)
这件事发生在我身上(PyCharm 2019.3),这是由放置在随后删除,编辑等文件上的无效断点引起的。删除所有断点,并确保您没有在异常``raise''上遇到断点。一旦完成,PyCharm调试就会恢复正常速度