nonebot / nb-cli

NoneBot2 脚手架 / CLI for NoneBot2
https://cli.nonebot.dev
MIT License
155 stars 17 forks source link

[Question]: IndexError: pop from empty list #37

Closed daizihan233 closed 2 years ago

daizihan233 commented 2 years ago

操作系统:Windows 11 Dev 25169.1000 Python版本:3.10

nb init
[?] Project Name: NiceBot
[?] Where to store the plugin?  2) In a "src" folder
[?] Which adapter(s) would you like to use?  (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
Traceback (most recent call last):
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\cache.py", line 34, in get
    return self._data[key]
KeyError: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\Scripts\nb.exe\__main__.py", line 7, in <module>
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\site-packages\nb_cli\__init__.py", line 30, in init
    create_project()
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\site-packages\nb_cli\handlers.py", line 105, in create_project
    answers2 = prompt(question2, qmark="[?]", style=list_style)
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\site-packages\PyInquirer\prompt.py", line 69, in prompt
    answer = run_application(
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\shortcuts.py", line 625, in run_application
    result = cli.run()
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\interface.py", line 413, in run
    self._redraw()
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\interface.py", line 358, in _redraw
    self.renderer.render(self, self.layout, is_done=self.is_done)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\renderer.py", line 424, in render
    layout.write_to_screen(cli, screen, mouse_handlers, WritePosition(
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 142, in write_to_screen
    sizes = self._divide_heigths(cli, write_position)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 177, in _divide_heigths
    dimensions = [get_dimension_for_child(c, index) for index, c in enumerate(self.children)]
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 177, in <listcomp>
    dimensions = [get_dimension_for_child(c, index) for index, c in enumerate(self.children)]
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 175, in get_dimension_for_child
    return c.preferred_height(cli, write_position.width, write_position.extended_height)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 1652, in preferred_height
    return self.content.preferred_height(cli, width, max_available_height)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\containers.py", line 999, in preferred_height
    preferred=self.content.preferred_height(
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\controls.py", line 254, in preferred_height
    content = self.create_content(cli, width, None)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\controls.py", line 259, in create_content
    tokens_with_mouse_handlers = self._get_tokens_cached(cli)
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\controls.py", line 238, in _get_tokens_cached
    return self._token_cache.get(
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\cache.py", line 37, in get
    value = getter_func()
  File "C:\Users\HanTools\AppData\Roaming\Python\Python310\site-packages\prompt_toolkit\layout\controls.py", line 239, in <lambda>
    cli.render_counter, lambda: self.get_tokens(cli))
  File "C:\Users\HanTools\AppData\Local\Programs\Python\Python310\lib\site-packages\PyInquirer\prompts\checkbox.py", line 99, in _get_choice_tokens
    tokens.pop()  # Remove last newline.
IndexError: pop from empty list

这个错误如何解决?文档和百度、必应的引擎翻了半天都没找到

yanyongyu commented 2 years ago

你这nb cli是不是老的过分了

daizihan233 commented 2 years ago

看了下是0.6.7,应该不老吧?

yanyongyu commented 2 years ago

看你的报错里 PyInquirer 是很早很早以前版本的nbcli才用的,早就不用这个库了,你还是看下你的nbcli版本吧

nb --version
daizihan233 commented 2 years ago

好吧,这个问题看起来比较玄学( 我又卸载重装了几次,然后就莫名其妙好了……