-
-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Labels
bugSomething isn't workingSomething isn't working
Description
操作系统
Linux
Python 版本
3.10
NoneBot 版本
2.4.4
适配器
onebot 2.4.6
协议端
none
描述问题
安装插件过程中提示 pip is not installed
系统内python环境为conda启动的py310
nb-cli是正常通过pipx install nb-cli 进行安装的,也已经重试
项目目录最早是nb create生成的,后来删掉了.venv文件夹,用uv sync进行了重建,会不会是uv创建的环境和nb create创建的环境存在一定区别?
复现步骤
系统内python环境为conda启动的py310
nb-cli是正常通过pipx install nb-cli 进行安装的,也已经重试
项目目录最早是nb create生成的,后来删掉了.venv文件夹,用uv sync进行了重建
然后nb plugin install 插件过程中报错
期望的结果
No response
截图或日志
附日志截图 和 pyproject.toml文件结构
(nb2-py310) ubuntu@VM-8-5-ubuntu:/www/bot/nb_bot_bak$ nb
Using python: /www/bot/nb_bot_bak/.venv/bin/python
d8b db .d88b. d8b db d88888b d8888b. .d88b. d888888b
888o 88 .8P Y8. 888o 88 88' 88 `8D .8P Y8. `~~88~~'
88V8o 88 88 88 88V8o 88 88ooooo 88oooY' 88 88 88
88 V8o88 88 88 88 V8o88 88~~~~~ 88~~~b. 88 88 88
88 V888 `8b d8' 88 V888 88. 88 8D `8b d8' 88
VP V8P `Y88P' VP V8P Y88888P Y8888P' `Y88P' YP
Welcome to NoneBot CLI!
[?] What do you want to do? Manage bot plugins.
[?] What do you want to do? Install nonebot plugin to current project.
[?] Plugin name to install: splatoon3游戏日程查询 (一个基于nonebot2框架的splatoon3游戏日程查询插件)
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/nb", line 7, in <module>
sys.exit(main())
~~~~^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/__main__.py", line 10, in main
anyio.run(cli_main, *args)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_core/_eventloop.py", line 75, in run
return async_backend.run(func, args, {}, backend_options)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2365, in run
return runner.run(wrapper())
~~~~~~~~~~^^^^^^^^^^^
File "/home/ubuntu/miniconda3/lib/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/home/ubuntu/miniconda3/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2348, in wrapper
return await func(*args)
^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/__init__.py", line 35, in cli_main
return await run_sync(cli_sync)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 106, in wrapper
return await anyio.to_thread.run_sync(partial(func, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/to_thread.py", line 61, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 986, in run
result = context.run(func, *args)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 1485, in __call__
return self.main(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 1851, in invoke
rv = super().invoke(ctx)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 114, in wrapper
return anyio.from_thread.run(partial(func, *args, **kwargs))
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/from_thread.py", line 90, in run
return token.backend_class.run_async_from_thread(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
func, args, token=token.native_token if explicit_token else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2572, in run_async_from_thread
return f.result()
~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 456, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2553, in task_wrapper
return await func(*args)
^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/__init__.py", line 130, in cli
await run_sync(ctx.invoke)(sub_cmd)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 106, in wrapper
return await anyio.to_thread.run_sync(partial(func, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/to_thread.py", line 61, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 986, in run
result = context.run(func, *args)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 114, in wrapper
return anyio.from_thread.run(partial(func, *args, **kwargs))
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/from_thread.py", line 90, in run
return token.backend_class.run_async_from_thread(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
func, args, token=token.native_token if explicit_token else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2572, in run_async_from_thread
return f.result()
~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 456, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2553, in task_wrapper
return await func(*args)
^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/commands/plugin.py", line 66, in plugin
await run_sync(ctx.invoke)(sub_cmd)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 106, in wrapper
return await anyio.to_thread.run_sync(partial(func, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/to_thread.py", line 61, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 986, in run
result = context.run(func, *args)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/utils.py", line 114, in wrapper
return anyio.from_thread.run(partial(func, *args, **kwargs))
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/from_thread.py", line 90, in run
return token.backend_class.run_async_from_thread(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
func, args, token=token.native_token if explicit_token else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2572, in run_async_from_thread
return f.result()
~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 456, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "/home/ubuntu/miniconda3/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2553, in task_wrapper
return await func(*args)
^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/cli/commands/plugin.py", line 163, in install
proc = await call_pip_install(
^^^^^^^^^^^^^^^^^^^^^^^
plugin.as_dependency(not no_restrict_version), pip_args
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/handlers/meta.py", line 152, in wrapper
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/.local/share/pipx/venvs/nb-cli/lib/python3.13/site-packages/nb_cli/handlers/meta.py", line 276, in wrapper
raise PipError(_("pip is not installed."))
nb_cli.exceptions.PipError: pip is not installed.
(nb2-py310) ubuntu@VM-8-5-ubuntu:/www/bot/nb_bot_bak$
pyproject.toml 文件结构
[project]
name = "nb_bot_bak"
version = "0.1.0"
description = "nb_bot_bak"
readme = "README.md"
requires-python = ">=3.10, <4.0"
dependencies = [
"nonebot2[fastapi]>=2.4.4",
"nonebot2[httpx]>=2.4.4",
"nonebot2[websockets]>=2.4.4",
"nonebot-adapter-onebot>=2.4.6",
"nonebot-adapter-telegram>=0.1.0b20",
"nonebot-adapter-qq>=1.6.6",
"nonebot-adapter-kaiheila>=0.3.4",
"nonebot-plugin-localstore>=0.7.4",
"nonebot-plugin-apscheduler>=0.5.0",
"nonebot-plugin-splatoon3_schedule>=2.0.0",
"nonebot-plugin-splatoon3-nso>=1.7.5",
]
[project.optional-dependencies]
dev = [
"pyright[nodejs]",
"ruff"
]
[tool.nonebot]
plugin_dirs = ["nb_bot/plugins"]
builtin_plugins = []
[tool.nonebot.adapters]
nonebot-adapter-onebot = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
{ name = "OneBot V12", module_name = "nonebot.adapters.onebot.v12" }
]
nonebot-adapter-telegram = [
{ name = "Telegram", module_name = "nonebot.adapters.telegram" }
]
nonebot-adapter-qq = [
{ name = "QQ", module_name = "nonebot.adapters.qq" }
]
nonebot-adapter-kaiheila = [
{ name = "开黑啦", module_name = "nonebot.adapters.kaiheila" }
]
"@local" = []
[tool.nonebot.plugins]
"@local" = []
nonebot-plugin-localstore = ["nonebot_plugin_localstore"]
nonebot-plugin-apscheduler = ["nonebot_plugin_apscheduler"]
[tool.ruff]
line-length = 88
target-version = "py39"
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
# For more rules, see https://docs.astral.sh/ruff/rules/.
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"C90", # mccabe
"N", # pep8-naming
"PL", # pylint
"UP", # pyupgrade
"YTT", # flake8-2020
"ANN", # flake8-annotations
"ASYNC", # flake8-async
"BLE", # flake8-blind-except
"FBT", # flake8-boolean-trap
"B", # flake8-bugbear
"A", # flake8-builtins
"COM", # flake8-commas
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"T10", # flake8-debugger
"ICN", # flake8-import-conventions
"PIE", # flake8-pie
"T20", # flake8-print
"PYI", # flake8-pyi
"Q", # flake8-quotes
"RSE", # flake8-raise
"RET", # flake8-return
"SIM", # flake8-simplify
"SLOT", # flake8-slots
"TID", # flake8-tidy-imports
"TC", # flake8-type-checking
"ARG", # flake8-unused-arguments
"PTH", # flake8-use-pathlib
# "ERA", # eradicate
"FAST", # FastAPI
"PERF", # Perflint
"PGH", # pygrep-hooks
"FURB", # refurb
"TRY", # tryceratops
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file # nonebot2 require() violates this
"B008", # function-call-in-default-argument # nonebot2 Depends() without Annotated violates this
"UP037", # quoted-annotation
# "RUF001", # ambiguous-unicode-character-string
# "RUF002", # ambiguous-unicode-character-docstring
# "RUF003", # ambiguous-unicode-character-comment
# "ANN201", # missing-return-type-undocumented-public-function
"ANN202", # missing-return-type-private-function
"ANN401", # any-type
"COM812", # missing-trailing-comma
"PLC0415", # import-outside-top-level
]
allowed-confusables = [",", "。", "“", "”", ":", ";", "?", "!", "【", "】", "《", "》", "…", "—", "(", ")", "、"]
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.pyright]
# For Pylance/Pyright configurations, see https://microsoft.github.io/pyright/#/configuration.
pythonVersion = "3.9"
pythonPlatform = "All"
typeCheckingMode = "standard"
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working