Ipython: クラッシュエラー

作成日 2021年01月20日  ·  4コメント  ·  ソース: ipython/ipython

[3]の場合:nn.relu
トレースバック(最後の最後の呼び出し):
get_completionsのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py"、行113
self._get_completions(body、offset、cursor_position、self.ipy_completer)からのyield
_get_completionsのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py"、行129
完了のcの場合:
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py"、438行目、_deduplicate_completions
完了=リスト(完了)
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py"、行1818、補完
自己のcの場合._completions(text、offset、_timeout = self.jedi_compute_type_timeout / 1000):
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py"、行1862、_completions
full_text = full_text、cursor_line = cursor_line、cursor_pos = cursor_column)
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py"、行2030、_complete
cursor_pos、cursor_line、full_text)
_jedi_matchesのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py"、行1374
text [:offset]、namespaces、column = cursor_column、line = cursor_line + 1)
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/jedi/api/__init__.py"、行726、__ init__
project = Project(Path.cwd())、** kwds)
TypeError:__ init __()が予期しないキーワード引数 'column'を取得しました

上記の例外の処理中に、別の例外が発生しました。

トレースバック(最後の最後の呼び出し):
ファイル "/ home / hcl / miniconda3 / envs / pytorch / bin / ipython"、8行目
sys.exit(start_ipython())
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/__init__.py"、行126、start_ipython
launch_new_instance(argv = argv、 * kwargs)を返しますファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/traitlets/config/application.py"、845行目、launch_instanceapp.start()ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ipapp.py"、行356、開始時self.shell.mainloop()ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py"、行564、メインループself.interact()ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py"、行547、interactcode = self.prompt_for_code()ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py"、行475、prompt_for_code* self._extra_prompt_options())
ファイル「/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/shortcuts/prompt.py」、1013行目、プロンプト
self.app.run(set_exception_handler = set_exception_handler)を返します
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/application/application.py"、行817、実行中
self.run_async(pre_run = pre_run、set_exception_handler = set_exception_handler)
run_until_completeのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/asyncio/base_events.py"、行584
future.result()を返します
run_asyncのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/application/application.py"、行783
return await _run_async2()
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/application/application.py"、771行目、_run_async2
self.cancel_and_wait_for_background_tasks()を待つ
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/application/application.py"、872行目、cancel_and_wait_for_background_tasks
タスクを待つ
new_coroutineのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/buffer.py"、行1854
コルーチンを待つ( a、* kw)
ファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/buffer.py"、行1684、async_completer
ドキュメント、complete_event
get_completions_asyncのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/completion/base.py"、行270
ドキュメント、complete_event
get_completions_asyncのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/prompt_toolkit/completion/base.py"、行196
self.get_completions(document、complete_event)のアイテムの場合:
get_completionsのファイル "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py"、行116
exc_type、exc_value、exc_tb = sys.exc_info()
NameError:名前 'sys'が定義されていません

これがIPython7.19.0のバグであると思われる場合は、次のURLで報告してください。
https://github.com/ipython/ipython/issues
または、 ipython-dev @ python.orgのメーリングリストに電子メールを送信します

「%tb」を使用して、より詳細なトレースバックを今すぐ印刷するか、「%debug」を使用できます。
インタラクティブにデバッグします。

バグ報告を目的とした非常に詳細なトレースバックは、次の方法で有効にできます。
%config Application.verbose_crash = True

最も参考になるコメント

トレースバックの読み取り:

  1. systracebackのインポートがIPython/terminal/ptutils.pyにありません。これが、Ipythonのクラッシュの原因となる問題です。
  2. jedi/api/__init__.pyでは、「column」引数がScript.__init__に渡され、そのような引数を受け入れないと文句を言います。
  3. このエラーはIPython/core/completer.pyに起因し、1373行目に新しいjedi.Interpreterが作成され、それに「列」引数を渡してチョークします。

Scriptオブジェクトを作成する方法が、jedi0.17とjedi0.18の間で変更されました。
0.17の場合:

     def __init__(self, code=None, line=None, column=None, path=None,                                    
                 encoding=None, sys_path=None, environment=None,                                               
                 project=None, source=None):

0.18で:

    def __init__(self, code=None, *, path=None, environment=None, project=None):

jedi0.18の代わりにjedi0.17をインストールすると、現在のバージョンのipythonが機能するはずです。
これは私のために働いた:

pip uninstall jedi
pip install jedi==0.17.2

全てのコメント4件

この問題の原因はipythonによるものではありません。 実際にはjediパッケージから来ています。 しかし、ipythonにもこれに関連するエラーがあります。 sysモジュールはget_completions例外でインポートされません。

sysおよびtracebackモジュールは7か月前に追加されましたが、pypiでは更新されていません。 このため、このエラーはipythonとは関係ありません。 jediのエラーです。

これがjediの問題である理由について、もう少し詳しく教えてください。
PyPIでの最新のipythonリリースは7.19.0で、不足しているインポートが含まれています。これは、すでに述べたように、マスターで修正されていますが、リリースされていません。
https://github.com/ipython/ipython/blob/7.19.0/IPython/terminal/ptutils.py

sysのインポートなし
https://github.com/ipython/ipython/blob/223e783c447a773a497809646ca0d874ea10ceeb/IPython/terminal/ptutils.py#L20 -L24

sysの使用
https://github.com/ipython/ipython/blob/223e783c447a773a497809646ca0d874ea10ceeb/IPython/terminal/ptutils.py#L116

トレースバックの読み取り:

  1. systracebackのインポートがIPython/terminal/ptutils.pyにありません。これが、Ipythonのクラッシュの原因となる問題です。
  2. jedi/api/__init__.pyでは、「column」引数がScript.__init__に渡され、そのような引数を受け入れないと文句を言います。
  3. このエラーはIPython/core/completer.pyに起因し、1373行目に新しいjedi.Interpreterが作成され、それに「列」引数を渡してチョークします。

Scriptオブジェクトを作成する方法が、jedi0.17とjedi0.18の間で変更されました。
0.17の場合:

     def __init__(self, code=None, line=None, column=None, path=None,                                    
                 encoding=None, sys_path=None, environment=None,                                               
                 project=None, source=None):

0.18で:

    def __init__(self, code=None, *, path=None, environment=None, project=None):

jedi0.18の代わりにjedi0.17をインストールすると、現在のバージョンのipythonが機能するはずです。
これは私のために働いた:

pip uninstall jedi
pip install jedi==0.17.2
このページは役に立ちましたか?
0 / 5 - 0 評価