Ipython: kesalahan kecelakaan

Dibuat pada 20 Jan 2021  ·  4Komentar  ·  Sumber: ipython/ipython

Dalam [3]: nn.relu
Traceback (panggilan terakhir terakhir):
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py", baris 113, di get_completions
hasil dari self._get_completions(body, offset, cursor_position, self.ipy_completer)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py", baris 129, di _get_completions
untuk c dalam penyelesaian:
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py", baris 438, di _deduplicate_completions
penyelesaian = daftar(penyelesaian)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py", baris 1818, dalam penyelesaian
untuk c di self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000):
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py", baris 1862, di _completions
full_text=teks_lengkap, kursor_line=garis_kursor, kursor_pos=kolom_kursor)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py", baris 2030, di _complete
kursor_pos, baris_kursor, teks_penuh)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/core/completer.py", baris 1374, di _jedi_matches
teks[:offset], ruang nama, kolom=kursor_kolom, baris=kursor_baris + 1)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/jedi/api/__init__.py", baris 726, di __init__
proyek=Proyek(Path.cwd()), **kwds)
TypeError: __init__() mendapat 'kolom' argumen kata kunci yang tidak terduga

Selama penanganan pengecualian di atas, pengecualian lain terjadi:

Traceback (panggilan terakhir terakhir):
File "/home/hcl/miniconda3/envs/pytorch/bin/ipython", baris 8, di
sys.exit(start_ipython())
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/__init__.py", baris 126, di start_ipython
kembali launch_new_instance(argv=argv, *kwargs)File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/traitlets/config/application.py", baris 845, di launch_instanceaplikasi.mulai()File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ipapp.py", baris 356, di awaldiri.shell.mainloop()File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py", baris 564, di mainloopdiri.berinteraksi()File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py", baris 547, dalam interaksikode = self.prompt_for_code()File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py", baris 475, di prompt_for_code* self._extra_prompt_options())
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/shortcuts/Prompt.py", baris 1013, di prompt
kembalikan self.app.run(set_exception_handler=set_exception_handler)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/application/application.py", baris 817, sedang dijalankan
self.run_async(pre_run=pre_run, set_exception_handler=set_exception_handler)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/asyncio/base_events.py", baris 584, di run_until_complete
kembali masa depan.hasil()
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/application/application.py", baris 783, di run_async
kembali menunggu _run_async2()
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/application/application.py", baris 771, di _run_async2
menunggu self.cancel_and_wait_for_background_tasks()
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/application/application.py", baris 872, di cancel_and_wait_for_background_tasks
menunggu tugas
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/buffer.py", baris 1854, di new_coroutine
tunggu coroutine( a, * kw)
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/buffer.py", baris 1684, di async_completer
dokumen, complete_event
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/completion/base.py", baris 270, di get_completions_async
dokumen, complete_event
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/Prompt_toolkit/completion/base.py", baris 196, di get_completions_async
untuk item di self.get_completions(document, complete_event):
File "/home/hcl/miniconda3/envs/pytorch/lib/python3.7/site-packages/IPython/terminal/ptutils.py", baris 116, di get_completions
exc_type, exc_value, exc_tb = sys.exc_info()
NameError: nama 'sys' tidak ditentukan

Jika Anda menduga ini adalah bug IPython 7.19.0, laporkan di:
https://github.com/ipython/ipython/issues
atau kirim email ke milis di [email protected]

Anda dapat mencetak traceback yang lebih detail sekarang dengan "%tb", atau menggunakan "%debug"
untuk men-debugnya secara interaktif.

Traceback ekstra-detail untuk tujuan pelaporan bug dapat diaktifkan melalui:
%config Application.verbose_crash=Benar

Komentar yang paling membantu

Membaca traceback:

  1. Impor sys dan traceback tidak ada di IPython/terminal/ptutils.py , dan ini adalah masalah yang menyebabkan Ipython crash;
  2. Dalam jedi/api/__init__.py , ia mengeluh bahwa argumen "kolom" diteruskan ke Script.__init__ , yang tidak menerima argumen seperti itu;
  3. Kesalahan ini berasal dari IPython/core/completer.py , di mana pada baris 1373 jedi.Interpreter baru dibuat, meneruskan argumen "kolom" ke sana, yang mencekiknya.

Cara membuat objek Script telah berubah antara jedi 0.17 dan jedi 0.18:
di 0.17:

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

di 0.18:

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

Jika Anda menginstal jedi 0.17 alih-alih jedi 0.18 versi ipython saat ini akan berfungsi.
Ini berhasil untuk saya:

pip uninstall jedi
pip install jedi==0.17.2

Semua 4 komentar

Akar masalah ini bukan karena ipython. Sebenarnya berasal dari paket jedi . Tetapi ipython juga memiliki kesalahan terkait dengan ini. Modul sys tidak diimpor dalam pengecualian get_completions .

Modul sys dan traceback ditambahkan 7 bulan yang lalu tetapi tidak diperbarui di pypi. Karena itu, kesalahan ini tidak terkait dengan ipython. Ini kesalahan dalam jedi .

Bisakah Anda memberikan info lebih rinci tentang mengapa ini menjadi masalah di jedi ?
Rilis ipython terbaru pada PyPI adalah 7.19.0 yang berisi impor yang hilang yang - seperti yang telah Anda catat - diperbaiki pada master tetapi tidak dirilis.
https://github.com/ipython/ipython/blob/7.19.0/IPython/terminal/ptutils.py

Tidak ada impor sys
https://github.com/ipython/ipython/blob/223e783c447a773a497809646ca0d874ea10ceeb/IPython/terminal/ptutils.py#L20 -L24

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

Membaca traceback:

  1. Impor sys dan traceback tidak ada di IPython/terminal/ptutils.py , dan ini adalah masalah yang menyebabkan Ipython crash;
  2. Dalam jedi/api/__init__.py , ia mengeluh bahwa argumen "kolom" diteruskan ke Script.__init__ , yang tidak menerima argumen seperti itu;
  3. Kesalahan ini berasal dari IPython/core/completer.py , di mana pada baris 1373 jedi.Interpreter baru dibuat, meneruskan argumen "kolom" ke sana, yang mencekiknya.

Cara membuat objek Script telah berubah antara jedi 0.17 dan jedi 0.18:
di 0.17:

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

di 0.18:

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

Jika Anda menginstal jedi 0.17 alih-alih jedi 0.18 versi ipython saat ini akan berfungsi.
Ini berhasil untuk saya:

pip uninstall jedi
pip install jedi==0.17.2
Apakah halaman ini membantu?
0 / 5 - 0 peringkat