簡體   English   中英

Spyder中的IPython控制台在Anaconda中非常慢

[英]IPython console in spyder extremely slow in Anaconda

我使用標准的python安裝/ IDLE幾年后我正在嘗試Anaconda / Spyder。 控制台(和變量資源管理器)在每個工作會話期間變得越來越慢,我運行的每個腳本和交互式命令。 最終需要幾分鍾才能得到像print這樣的簡單命令的響應,然后它完全停止響應並關閉它。 這對我的工作非常具有破壞性。

Mac OSX 10.13.6

conda version : 4.5.11
conda-build version : 3.15.1
python version : 3.7.0.final.0

qt 5.9.6
spyder 3.3.1 
ipython 7.1.1

我經常使用matplotlib。 只要有可能,我會在腳本的開頭使用plt.ioff()和/或在結尾處使用plt.close('all')。 在首選項中完全關閉matplotlib支持並沒有幫助,反正它也不是永久修復。 Python並沒有在我的所有CPU或RAM附近使用。

據我所知,問題似乎是ipython內核的最新主要版本。 將ipykernel的版本固定為4.10.0解決了它。 為此,請將包含ipykernel 4.*的行添加到~/anaconda3/conda-meta/pinned 如果文件尚不存在,請創建該文件。 然后conda update ipykernel ,它實際上會降級到4.10.0。 為我工作!

你不需要降級整個spyder。 對我來說,它降級了這兩個: conda install ipython=6.4.0 conda install ipykernel=4.10.0

所以這不是一個完全令人滿意的解決方案,但它似乎是一個合理的臨時修復。 如果你將你的spyder版本降級到3.1.X,你將能夠使用python控制台而不是Ipython控制台,這似乎對我有用。 要做到這一點,只需運行:

conda install spyder=3.1

當您選擇的環境處於活動狀態時,在終端中。 這並不理想,因為開發人員刪除了python控制台的原因有很多,如本問題中提到的, 如何在spyder中添加python控制台 另外降級這么多可能會對您的代碼使用的其他軟件包產生無法預料的影響,並可能導致其他問題,但到目前為止,這是我能夠提出的唯一解決方案。

@Sjoerd感謝您的回答,這對我有用。 為了更清楚,這就是我在High Sierra的Anaconda 3終端上所做的:

echo“ipykernel 4.10.0”>>〜/ anaconda3 / conda-meta / pinned

conda更新anaconda

當我嘗試僅更新ipykernel時,我會有依賴項錯誤。 通過更新anaconda,一切都是最新的,但ipykernel實際上是版本4.10.0。 從那以后我沒有遇到過任何問題。

@JJR4的回答對我不起作用(似乎適用於其他人)。 另一種解決方法是在IPython Spyder控制台中輸入%connect_info magic命令,該控制台將顯示JSON信息以將另一個控制台連接到內核。

magic命令的輸出解釋了如何連接,但基本上有三個選項。

將上面的JSON粘貼到文件中,並連接到:

$> jupyter <app> --existing <file>

或者,如果您是本地人,您可以直接聯系:

$> jupyter <app> --existing <kernel>.json

甚至只是:

$> jupyter <app> --existing

如果這是你已經開始的最新的Jupyter內核。

我通常使用qtconsole作為應用程序。 將所選連接方法輸入命令行后,將打開一個新控制台,該控制台與Spyder中的控制台連接到同一內核。 出於某種原因,即使Spyder控制台沒有,新控制台也不會滯后。

在新控制台中輸入所有內容,甚至是runfile()

希望這可以幫助!

更新:降級到ipykernel版本4.10似乎解決了我的問題。 感謝Carlos Cordoba - 請參閱以下鏈接中的GitHub對話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM