[英]PyCharm IDE is very slow on debug Python reading small pickle file
調試有時需要 10 秒。 讀取 30mega + 5 mega pickles 后問題開始,用 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!'
我對 ndarrays 列表的字典有類似的問題。 當列表太長時,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>
現在情況有了很大改善。 我不知道是什么問題
我在 JetBrains support 上找到了這個線程,它建議關閉“顯示返回值”選項(您可以在調試工具欄的設置中找到它,齒輪圖標)。 它已經為我解決了。
我對此做了一些分析,還使用 PyDev 插件將我的 IDE 更改為 Elipse。
仍然調試python程序比實際直接執行python程序太慢。
慢多少? 我的計算密集型程序花了超過 17 分鍾,仍然沒有解決方案,直接運行時,相同的程序在 2 分鍾內返回輸出。
我想問題出在 Python 調試器上,而不是 IDE 的 Eclipse 或 Jetbrains Pycharm 上。 我可以為兩者作擔保,因為我已經在這兩個方面工作了很多年。
值得檢查是否有任何可用於 Python 調試器的顯式調試器速度設置選項。
對我的幫助是將“可變加載策略”更改為“按需”。 這是通過單擊調試菜單中的小齒輪來完成的。 要查看圖片,請查看鏈接:
這發生在我身上(PyCharm 2019.3),它是由放置在文件上的無效斷點引起的,這些斷點隨后被刪除、編輯等。刪除所有斷點並確保您沒有在異常“raise”上獲得斷點。 一旦我這樣做了 PyCharm 調試就恢復了正常速度
相當延遲,但是我遇到了類似的問題,一個多星期都無法解決我的生活。 嘗試了以上所有,還有更多。 最終,對我來說,以下兩個解決方案之一起作用了(在 inte.net 中找到它們,不幸的是無法找到適當的信用):
不知道為什么它有幫助 - 當問題開始時,我沒有更改我的代碼中的任何內容,包括 gevents 的使用。 但是,這似乎沒有什么壞處; 特別是選項(2)...
#voodoosolutions
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.