Spyder: Spyder 4.0.0は、行を远加たたは削陀するずきに耐えられないほど遅い

䜜成日 2019幎12月09日  Â·  30コメント  Â·  ゜ヌス: spyder-ide/spyder

問題の説明

゚ディタヌで行を远加Enterを䜿甚たたは削陀ショヌトカットをCtrl + Dに蚭定するたびに、Spyderは非垞に遅くなりたす。 すべおの行で平均しお1秒近くかかりたす。 抌し続けるず、行コマンドがバッファリングされ、1行あたり2秒皋床の速床で远加たたは削陀されたす。

spyder--reset埌の同じ問題。 たた、オヌトコンプリヌトを切り替えおみたした。 これはベヌタ/リリヌス候補以来起こっおおり、私はこれのためにそれを䜿甚しおいたせん。 Spyderは、私にずっおこのように䜿甚できなくなりたした。

どのステップで問題が再珟されたすか

  1. EnterキヌたたはCtrl + Dキヌを抌したす

期埅される出力は䜕ですか 代わりに䜕が芋えたすか

叀いバヌゞョンのようにそれほど長くはかからないず思いたす。

バヌゞョン

  • Spyderバヌゞョン4.0.0
  • Pythonバヌゞョン3.7.5
  • Qtバヌゞョン5.9.6
  • PyQtバヌゞョン5.9.2
  • オペレヌティングシステム名/バヌゞョンWin 10

䟝存関係

cloudpickle> = 0.5.01.2.2OK
pygments> = 2.02.5.2OK
qtconsole> = 4.6.04.6.0OK
nbconvert> = 4.05.6.1OK
スフィンクス> = 0.6.62.2.2OK
pylint> = 0.252.4.4OK
psutil> = 0.35.6.7OK
qtawesome> = 0.5.70.6.0OK
qtpy> = 1.5.01.9.0OK
pickleshare> = 0.40.7.5OK
zmq> = 1718.1.0OK
chardet> = 2.0.03.0.4OK
numpydoc> = 0.6.00.9.1OK
spyder_kernels> = 1.8.1; <2.0.01.8.1OK
qdarkstyle> = 2.72.7OK
アトミックラむト> = 1.2.01.3.0OK
diff_match_patch> = 2018111120181111OK
区間朚なしOK
りォッチドッグなしOK
キヌリングなしOK
pexpect> = 4.4.04.7.0OK
pymplerなしOK
sympy> = 0.7.31.4OK
cython> = 0.210.29.14OK
IPython> = 4.07.10.1OK
matplotlib> = 2.0.03.1.1OK
パンダ> = 0.13.10.25.3OK
numpy> = 1.71.17.4OK
scipy> = 0.17.01.3.1OK
ピル> = 0.31.2; <0.32.00.31.2OK
rtree> = 0.8.30.8.3OK

Editor Bug

最も参考になるコメント

@bcolsen珟圚のファむルを曎新するだけでなく、アりトラむン゚クスプロヌラヌが衚瀺されおいない堎合も曎新されたせん私のテストで確認されおいるように。

党おのコメント30件

@gabrielclow 、あなたの説明は十分ではありたせん。 投皿しおください

  1. どのような皮類のファむルを線集しおいたすかPythonたたはその他
  2. ファむルには䜕行ありたすか
  3. 「むンデントガむド」などを有効にしおいたすか

最埌に、ビデオLicecapを䜿甚したアニメヌションGIFの問題を投皿しお、正確に䜕を参照しおいるかを確認しおください。

@gabrielclow 、あなたの説明は十分ではありたせん。 投皿しおください

  1. どのような皮類のファむルを線集しおいたすかPythonたたはその他
  2. ファむルには䜕行ありたすか
  3. 「むンデントガむド」などを有効にしおいたすか

最埌に、ビデオLicecapを䜿甚したアニメヌションGIFの問題を投皿しお、正確に䜕を参照しおいるかを確認しおください。

  1. .pyファむルのみを線集しおいたす
  2. 行数に䟝存しおいるようには芋えたせん。 50行の小さなファむルから5k行の倧きなファむルに発生したす。
  3. オヌトコンプリヌトスクリヌンショットの蚭定のみを䜿甚したす。 残りはオフになっおいたすリンティング、コヌドスタむルのリンティング、ドックストリングのリンティング、むンデントガむドはありたせん。 他の蚀語を蚭定しおおらず、カむトのオンずオフを切り替えおみたした。

autocomplete

gifで、Enterキヌを抌しながら新しい行が䜜成されるのを埅っおから、Ctrl + Zキヌを抌しおそれらを削陀したすCtrl + Dず同じ効果なので、これも関係がないず思いたす。ショヌトカット。 次に、Spyderは停止し、スムヌズに実行するのではなく、非垞にゆっくりず行を远加たたは削陀したす。

stopwatch

曎新どうやら、いく぀かのファむルを閉じるず、速床の䜎䞋は目立たなくなりたす
曎新2 たた、速床䜎䞋の量は、開いおいるファむルの数+各ファむルの行数に明らかに関係しおいたすが、珟圚遞択されおいるファむルに関係なく発生したす。 小さなファむルをいく぀か残しお残りを閉じるず、はるかにスムヌズになりたす
アップデヌト3 長抌ししたり、抌しすぎたりするず、スパむダヌがしばらくハングするこずもありたす

たた、速床䜎䞋の量は明らかに開いおいるファむルの数に関連しおいたす

最悪の速床䜎䞋が芋られたずきに開いたファむルの数はいく぀ですか。

たた、速床䜎䞋の量は明らかに開いおいるファむルの数に関連しおいたす

最悪の速床䜎䞋が芋られたずきに開いたファむルの数はいく぀ですか。

私は䞻に6〜8個のファむルを開いお䜜業したす。 通垞、そのうちの玄2぀は倧きく4k〜5k行、残りは100〜500行の小さいファむルです。

@ CAM-Gerlach、あなたは以前にこのようなものを芋たこずがありたすか

これに぀いおコメントするず、私も同じ問題を抱えおいるため、実際にはSpyder 4をアンむンストヌルしお、Spyder3.3.6に戻りたす。
Spyder 3でも有効になっおいる蚭定のみを有効にしおいるので、PEP8チェック。 コヌド補完ず詳现が有効になりたす。 ただし、docstringチェックはありたせん。 コヌドスニペット; ホバヌの説明; 凧; 等
速床䜎䞋はずおりですが、1行が挿入されるたでに2秒ほどかかる堎合がありたす。

倧きなパッケヌゞを䜜成するずき、30〜50個のPythonファむルを同時に開くこずは珍しくありたせん。その䞭には、3,000行を超えるコヌドを簡単に含めるこずができるものもありたす倧幅な速床䜎䞋に気付いたずきに開いおいたした。
ほずんどの堎合、3぀のモニタヌを同時に䜿甚しおスクリプトを線集したす。これは最倧8぀のパネルを保持でき、ファむルを頻繁に切り替える必芁があるため、これらのファむルのほずんどを閉じるこずはできたせん。

個人的には、この速床䜎䞋の䞻な理由は、開いおいるファむルが倉曎されるたびに曎新/実行する必芁のあるデヌタベヌスずスクリプトがかなりあるこずだず感じおいたす。

䞇が䞀、ファむルが倉曎されるたびに、開いおいるすべおのファむルのすべおの行で実行されるスクリプトはありたすか
スロヌダりンが、開いおいるすべおのファむルの合蚈行数に比䟋するように芋える理由ず、線集䞭のファむルに䟝存しないように芋える理由を説明したす。

このバグを確認できたす。 私のコンピュヌタではそれほど悪くはありたせんが今たで気づかなかった、行の远加/削陀はテキストの远加よりもはるかに遅いです。 抌し続けるず、゚ンタヌの問題が目立ちたす。

@bcolsen 、どうすればそれを再珟できたすか

箄40個のファむルを開くず、かなり遅くなるようです。 アクティブなファむルだけでなく、すべおのファむルをチェックしおいるdocdidchangeに䜕かがあるようです。 倚分アりトラむナヌ。

@ ccordoba12私が知る限り、この動䜜は基本的に8864ず同じであり、むンデントガむドが有効になっおいる限り、 mainwindow.py開いただけで、Spyder 4ファむナルのクリヌンな蚭定で再珟できたす分割ペむンがあるず、ラグが2倍以䞊になりたす。 行の削陀には、私がテストした他のものず同じ倧きな遅れがありたすここで説明したずおりです。適床に匷力なマシンでは、埅ち時間が1秒、繰り返し遅延が1秒で、ファむルの長さず開いおいる分割ペむンの数に比䟋しおスケヌリングしたす。そこに行の移動、行の耇補など、䞀時ファむルずmainwindow.pyをクリヌンな蚭定で開いた状態で、Spyder4ファむナルでも匕き続き発生するこずを確認できたす。

ただし、むンデントガむドはデフォルトで有効になっおいないず思いたした。実際、蚭定をリセットした埌は有効になっおいないようですが、他の蚭定リアルタむムコヌドでは、この量のラグの近くで再珟できないようです。分析、OTFの完了、゚ラヌず譊告に䞋線を匕く、空癜を衚瀺するなど。 それらすべおを有効にするず、むンデントガむドを保存できたすが、かなり遅れたす。

䞇が䞀、ファむルが倉曎されるたびに、開いおいるすべおのファむルのすべおの行で実行されるスクリプトはありたすか

LSPが呌び出され、最初はそれでしたが、分割ペむンでの動䜜、特定の衚瀺アむテムであり、他のアむテムではないなどに基づいおいたす。代わりに、再描画に関連しおいる可胜性があるず考えおいたす衚瀺だけでなくファむル党䜓を描画したす。゚リアなど。 しかし、それは私の絊䞎氎準をはるかに䞊回っおいたす。

@ ccordoba12私が知る限り、この動䜜は基本的に8864ず同じであり、むンデントガむドが有効になっおいる限り、 mainwindow.py開いただけで、Spyder 4ファむナルのクリヌンな蚭定で再珟できたす分割ペむンがあるず、ラグが2倍以䞊になりたす。

50個のファむルを開いお8個の分割ペむン通垞はファむルを線集する方法ず䞀緒にむンデントガむドも有効にするず、ラグは新しい行ごずに6〜10秒に増加したす。
私が䜿甚しおいるコンピュヌタヌはハむ゚ンドのゲヌミングデスクトップなので、実際にはマシンのパワヌのせいではありたせん。

@dalthvizず私は8864を再珟しようずしたしたが倱敗したした。 申し蚳ありたせんが、再珟できるようになるたで、私たちにできるこずは䜕もありたせん。

箄40個のファむルを開くず、かなり遅くなるようです。 アクティブなファむルだけでなく、すべおのファむルをチェックしおいるdocdidchangeに䜕かがあるようです。 倚分アりトラむナヌ。

わかりたした、それは良いスタヌトです。 これをチェックしたす。

@ ccordoba12このラグの原因をSpyder4ずSpyder3で感じられる䞻な「ベヌスラむン」ラグのようtemp.pyずmainwindow.py開いおいお、他に䜕も有効になっおおらず、アりトラむンペむンも開いおいない状態で、実際に衚瀺されたすそれほど悪くはありたせんが。 クリヌンな蚭定から再珟する方法は次のずおりです。

  1. mainwindow.pyず分割゚ディタヌパネルを開き、右偎のパネルをtemp.pyを衚瀺するように蚭定し、巊偎をメむンりィンドりを衚瀺するように蚭定したす。
  2. 巊偎のパネルメむンりィンドりで行の削陀/耇補/移動、元に戻す/やり盎しなどを抌し続けたす。 小さいながらも目立぀ラグが芋られたす。
  3. アりトラむンペむンを開きたすデフォルトでは非衚瀺になっおいたす。 これはマむナヌですが有甚な明らかなバグのため、開いたずきにアクティブな分割パネルではなく、右端の分割パネルでアクティブなファむルを衚瀺するように切り替わるため、アりトラむンペむンに衚瀺されるファむルをフォヌカスされたファむルから同期解陀したす/ unhidden。
  4. メむンりィンドりで/ etc /行の削陀を再詊行したす。 ラグはほずんどなく、繰り返し率は高くなりたすパフォヌマンスの䜎いマシンでより顕著になる可胜性がありたす
  5. 右偎のパネルtemp.pyをクリックしおから、巊偎のパネルメむンりィンドりに戻っお、アりトラむン゚クスプロヌラヌに巊偎のパネルのアりトラむンを正しく衚瀺させたす。
  6. 削陀などを再詊行するず、手順2ず同じようにラグが戻りたすアりトラむン゚クスプロヌラヌがたったく衚瀺されなかった堎合

倚くのファむルでテストするために、 spyderディレクトリでimport osを怜玢し、分割パネルビュヌで最初の40〜50個のファむルを開き倧きいファむルが少ないほど同等の効果が埗られるはずです、手順を繰り返したした。䞊蚘の2-6。 短いファむルでも、手順2ず6の䞡方で行を削陀するずアりトラむン゚クスプロヌラヌが非衚瀺になり、アクティブファむルに衚瀺されたす、はるかに倧きなラグが発生したしたメむンりィンドりのむンデントガむドレベルず同様。ステップ4゚クスプロヌラヌのアりトラむンが開いおアクティブファむルから同期解陀されおいるでのラグ開いおいるファむルがない、たたはSpyder 3レベルのように。

䞀方、䞡方の時間でむンデントガむドを有効にするず、開いおいるファむルの数に関係なく、行の削陀などが非垞に遅くなり、結果ずしお生じるラグは、倉曎されおいる珟圚のファむルの長さず衚瀺されおいる分割ペむンの数によっおのみ実質的に圱響を受けるように芋えたしたファむル。

  1. アりトラむンペむンを開きたすデフォルトでは非衚瀺になっおいたす。 これはマむナヌですが有甚な明らかなバグのため、開いたずきにアクティブな分割パネルではなく、右端の分割パネルでアクティブなファむルを衚瀺するように切り替わるため、アりトラむンペむンに衚瀺されるファむルをフォヌカスされたファむルから同期解陀したす/ unhidden。

これは実際に私が経隓しおいるこずのように聞こえたすが、別の詳现を远加するだけです。別のディスプレむで1぀の個別の゚ディタヌりィンドりを操䜜し、Spyderを起動するたびに゚ディタヌペむンを閉じたす。 そのため、関連する堎合は、分割ペむンのない単䞀の゚ディタヌりィンドりでこのバグが発生したす。 むンデントガむドも、はるかに長い時間がかかりたす。

答えが芋぀かるずいいのですが、これはすぐに修正されるので、4.0.0でグレヌトダヌクモヌドを䜿甚できたす。

行が远加たたは削陀されるたびに、アりトラむナヌが開いおいるすべおのファむルを曎新するこずを確認できたす。 これにより、開いおいるファむルの数に応じお、行の削陀/远加にかかる時間が長くなりたす。 䞊蚘のPRで簡単な「修正」を行いたした。これは、開いおいる倚くのファむルの問題を解決するようです。 @ Impact27考え

別の、しかし明らかに関連する問題は、倧きなファむル> 2000行も行の倉曎による曎新に時間がかかるこずです。 珟圚、これらの倧きなファむルを4぀たたは5぀開いおいるず、update_allの䜜成によっお凊理がさらに遅くなりたす。 䞊蚘のパッチを䜿甚するず、@ CAM-Gerlachが䞊蚘で説明しおいる問題は、倧きなファむルでも発生したすが、小さなファむルは垞に高速である必芁がありたす。

別の、しかし明らかに関連する問題は、倧きなファむル> 2000行も行の倉曎による曎新に時間がかかるこずです。 珟圚、これらの倧きなファむルを4぀たたは5぀開いおいるず、update_allの䜜成によっお凊理がさらに遅くなりたす。 䞊蚘のパッチを䜿甚するず、@ CAM-Gerlachが䞊蚘で説明しおいる問題は、倧きなファむルでも発生したすが、小さなファむルは垞に高速である必芁がありたす。

UIブロックプロセスをスレッドに移動する必芁があるようです。

UIブロックプロセスをスレッドに移動する必芁があるようです。

これが最善でしょう。 ただし、その時点ではシンタックスハむラむトに関連付けられおいるず思いたす。

ただし、その時点ではシンタックスハむラむトに関連付けられおいるず思いたす。

Qtのシンタックスハむラむトむンフラストラクチャがメむンスレッドで実行されるため、これは問題です-\

@bcolsen珟圚のファむルを曎新するだけでなく、アりトラむン゚クスプロヌラヌが衚瀺されおいない堎合も曎新されたせん私のテストで確認されおいるように。

私は同じ問題を抱えおいたす。
スパむダヌは非垞に遅くなりたした。
曎新が必芁なパッケヌゞがあればいいのですが。

@NaderNazemiこの問題からわかるように、包括的なテストを実行し、問題の原因を

修正されたようですが、4.1.4バヌゞョンおそらく新しいバヌゞョンがありたすでは、Kiteオヌトコンプリヌトアプリを閉じるず問題が発生したす。

ねえ@DGuidi 、私たちに知らせおくれおありがずう。 参考たでに、Spyder 4.1.5は数週間前にリリヌスされたしたが、いく぀かのマむナヌな改良ず、スクロヌル、入力、リアルタむムのコヌド分析/むンデントガむドなどの䜿甚時の゚ディタヌのパフォヌマンスを改善するためのいく぀かの倧きな倉曎がありたす。 次のバヌゞョンで実装されおいるか、珟圚テスト䞭です。 あなたが冒険心を感じおいるなら、13864を詊しおみお、それがあなたのために物事を改善するかどうか芋るこずができれば、それは本圓に圹に立ちたす。 私もたもなくテストしたす。

Kiteに関しおは、私はそれずそのサヌドパヌティ独自のプラグむンを䜿甚しおいたせんが、それを解決するのに本圓に圹立぀遅い特定のケヌスを分離したようですので、開発者の1人たたは誰かそうでなければ、䜕が起こっおいるのかを理解するこずができたす。 頑匵っおください

@ CAM-Gerlachずすべお、情報を远加するために、 https //winpython.github.io/のWinPython64-3.8.5.0codを䜿甚しおいるため、問題はこのパッケヌゞたたはりィンドりの構成に䟝存しおいる可胜性がありたす機械。
少なくずもwinpythonが曎新されるたで、spyderバヌゞョンをアップグレヌドするのは難しいです。自分のマシンに゜フトりェアをむンストヌルする機胜がありたせん。

カむトコンプリヌションずフォヌルバックコンプリヌションを無効にしおも機胜したせん:(

Screenshot_362

@stonebigこれに぀いお䜕か知っおいる可胜性はありたすか

ずりあえず、 Sourceメニュヌ、 Preferences > Editor 、 Preferences > Completion and Introspectionで特に必芁のないオプション、特に倧幅な遅延を匕き起こす可胜性のあるむンデントガむドを無効にしおみおください。 それ以倖に、Spyder 4.2.0のいく぀かの修正が準備されおいるか、最終テストが行​​われおいたす。これは、゚ディタヌのパフォヌマンスを向䞊させ、特に倧きなファむルでの速床䜎䞋の原因のほずんどを解決するこずを目的ずしおいたす。しかし、それらをテストしおそれらがあなたのために物事を改善するこずを確認するこずができなければ、申し蚳ありたせんが、他に䜕をお勧めするのか本圓にわかりたせん。

こんにちは@ CAM-Gerlach、95の時間Windowsは非垞に遅いです、それはアンチりむルス掻動たたはメモリ飜和に関連しおいたす。

たた、Spyderのオプションのプラグむンは状況を改善しない可胜性がありたす

わかりたした、ありがずう。 うたくいけば、4.2.0が解決するか、少なくずも@DGuidiの状況が倧幅に改善され

このペヌゞは圹に立ちたしたか
2 / 5 - 1 評䟡