PyCharmが起動しなくなった

金曜日 , 16, 10月 2020 Leave a comment

JetBrains社のPython開発環境『PyCharm』を使っているのですが、アップデートかアップグレードをしたあたりから起動中に以下のような画面が表示されて起動しなくなってしまいました。

2020-10-16

実は、この現象には過去何度か遭遇し都度対応しているのですが、次に遭遇したときには前回の記憶がきれいさっぱりなくなっていて最初から調べ直しになっています。
(記憶が不確かながら『PyCharm』だけでなく『DataGrip』や『IntelliJ IDEA』など他のJetBrains製品でも発生しているように思います)
今回未来の自分のために書き残しました。

まず、エラーを伝えるダイアログに表示された文字列から「VerifyError」や「Excepting a stack map frame」を拾い出し、製品名である『PyCharm』というキーワードと合わせて検索をしてみたところ、NoteBookさんの「Pycharm再インストール時のエラー」という記事にたどり着きました。

たしかに『Pleiades All in One』 をインストールしている環境です。
記事に記載してあった通りユーザディレクトリに含まれる「pleiades」という文字を含むファイルを全部検索し削除しました。
しかし、現象は改善せずPyCharmは起動しません。

そこで、ファイル名ではなくファイルの中身に「pleiades」という文字列が含まれているものを探したところ、次のファイルが引っかかりました。

《ユーザディレクトリ》\AppData\Roaming\JetBrains\PyCharm2020.2\pycharm64.exe.vmoptions

さっそく pycharm64.exe.vmoptionsの内容をを確認すると、下記のように記載されています。

-Xms128m
-Xmx2041m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=””
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true

-javaagent:《ユーザディレクトリ》\.PyCharm2019.3\config\jp.sourceforge.mergedoc.pleiades\pleiades.jar

最後の行にpleiadesというキーワードを含む何かが書き加えられています。

この行を削除し、

-Xms128m
-Xmx2041m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=””
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true

としたところ、無事に起動するようになりました。

pycharm64.exe.vmoptionsは、プログラムのインストール先(C:\Program Files\JetBrains\PyCharm 2020.2.3\bin など)にも存在するのですが、ユーザディレクトリにあるファイルの方を優先するようです。

Please give us your valuable comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください