標準のpython installation/IDLEを数年間使用した後、Anaconda/Spyderを試しています。コンソール(および変数Explorer)は、すべてのスクリプトとインタラクティブコマンドにより、各作業セッション中に徐々に遅くなります実行すると、最終的には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の近くのどこも使用していません。
したがって、これは完全に満足のいく解決策ではありませんが、合理的な一時的な修正のようです。スパイダーのバージョンを3.1.Xにダウングレードすると、Ipythonコンソールではなくpython consoleを使用できます。これは私にとってはうまくいくようです。これを行うには、次のコマンドを実行するだけです。
conda install spyder=3.1
選択した環境がアクティブな間、ターミナルで。開発者はこの質問で述べたように、特定の理由でpython consoleを削除したため、理想的ではありません How to add python console in spyder 。さらに、これだけダウングレードすると、コードが使用する他のパッケージに予期しない影響を及ぼし、他の問題を引き起こす可能性がありますが、これまでのところ、これが私が思いついた唯一の解決策です。
私が見つけた限りでは、問題はipythonカーネルの最新のメジャーリリースにあるようです。 ipykernelのバージョンを4.10.0に固定することで解決しました。そのためには、ipykernel 4.*
を含む行をファイル~/anaconda3/conda-meta/pinned
に追加します。ファイルがまだ存在しない場合は作成します。次に、実際に4.10.0にダウングレードするconda update ipykernel
。私のために働いた!
スパイダー全体をダウングレードする必要はありません。私にとっては、次の2つをダウングレードすることで機能しました:conda install ipython=6.4.0 conda install ipykernel=4.10.0
@Sjoerdあなたの答えをありがとう、これは私のために働いたものです。より明確にするために、ここに私がハイシエラのアナコンダ3のターミナルで行ったことを示します。
echo "ipykernel 4.10.0" >>〜/ anaconda3/conda-meta/pinned
conda update anaconda
Ipykernelのみを更新しようとすると、依存関係エラーが発生します。 anacondaを更新すると、すべてが最新の状態になりますが、実質的にバージョン4.10.0のipykernelです。それ以来、何もハングしていません。
@ JJR4の答えは私にはうまくいきませんでした(他の人のために働くようです)。別の回避策は、JSON情報を表示して別のコンソールをカーネルに接続するIPython Spyderコンソールに_%connect_info
_ magicコマンドを入力することです。
Magicコマンドの出力は接続方法を説明していますが、基本的に3つのオプションがあります。
上記のJSONをファイルに貼り付け、次のように接続します。
_$> jupyter <app> --existing <file>
_
または、ローカルの場合は、次の方法で接続できます。
_$> jupyter <app> --existing <kernel>.json
_
または単に:
_$> jupyter <app> --existing
_
これが、起動した最新のJupyterカーネルである場合。
私は通常、アプリとしてqtconsoleを使用します。選択した接続方法をコマンドラインに入力すると、Spyderのコンソールと同じカーネルに接続されている新しいコンソールが開きます。何らかの理由で、Spyderコンソールが遅れても、新しいコンソールは遅れません。
runfile()
も含め、すべてを新しいコンソールに入力します
お役に立てれば!
更新:ipykernelバージョン4.10にダウングレードすると問題が解決するようです。 Carlos Cordobaに感謝します-以下のリンクのGitHubの会話を参照してください。