("\n".join(messages)) RuntimeError: failed to build image setuptools because: Tr...

2025年12月14日 21:14 状态: processing

🚨 错误信息

Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "c:\users\lx\.local\bin\nb.exe\__main__.py", line 6, in <module> sys.exit(main()) ~~~~^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\__main__.py", line 10, in main anyio.run(cli_main, *args) ~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_core\_eventloop.py", line 75, in run return async_backend.run(func, args, {}, backend_options) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 2365, in run return runner.run(wrapper()) ~~~~~~~~~~^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 725, in run_until_complete return future.result() ~~~~~~~~~~~~~^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 2348, in wrapper return await func(*args) ^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\__init__.py", line 35, in cli_main return await run_sync(cli_sync)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\cli\utils.py", line 106, in wrapper return await anyio.to_thread.run_sync(partial(func, *args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\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 "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 2525, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 986, in run result = context.run(func, *args) File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\core.py", line 1485, in __call__ return self.main(*args, **kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\core.py", line 1406, in main rv = self.invoke(ctx) File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\core.py", line 1873, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\core.py", line 1269, in invoke return ctx.invoke(self.callback, **ctx.params) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\core.py", line 824, in invoke return callback(*args, **kwargs) File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\click\decorators.py", line 34, in new_func return f(get_current_context(), *args, **kwargs) File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\cli\utils.py", line 114, in wrapper return anyio.from_thread.run(partial(func, *args, **kwargs)) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\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 "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 2572, in run_async_from_thread return f.result() ~~~~~~~~^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 456, in result return self.__get_result() ~~~~~~~~~~~~~~~~~^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 401, in __get_result raise self._exception File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\anyio\_backends\_asyncio.py", line 2553, in task_wrapper return await func(*args) ^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\cli\commands\project.py", line 318, in create await create_virtualenv( venv_dir, prompt=project_dir_name, python_path=python_interpreter ) File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\handlers\meta.py", line 152, in wrapper return await func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\nb_cli\handlers\venv.py", line 32, in create_virtualenv return virtualenv.cli_run(args) ~~~~~~~~~~~~~~~~~~^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\run\__init__.py", line 33, in cli_run of_session.run() ~~~~~~~~~~~~~~^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\run\session.py", line 47, in run self._seed() ~~~~~~~~~~^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\run\session.py", line 60, in _seed self.seeder.run(self.creator) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\seed\embed\via_app_data\via_app_data.py", line 73, in run raise RuntimeError("\n".join(messages)) RuntimeError: failed to build image setuptools because: Traceback (most recent call last): File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\seed\embed\via_app_data\via_app_data.py", line 59, in _install installer.install(creator.interpreter.version_info) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\seed\embed\via_app_data\pip_install\base.py", line 39, in install self._sync(filename, into) ~~~~~~~~~~^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\seed\embed\via_app_data\pip_install\copy.py", line 13, in _sync copy(src, dst) ~~~~^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\util\path\_sync.py", line 43, in copy method(str(src), str(dest)) ~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\lx\pipx\venvs\nb-cli\Lib\site-packages\virtualenv\util\path\_sync.py", line 54, in copytree shutil.copy(src_f, dest_f) ~~~~~~~~~~~^^^^^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\shutil.py", line 428, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\shutil.py", line 260, in copyfile with open(src, 'rb') as fsrc: ~~~~^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\lx\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\\LocalCache\\Local\\pypa\\virtualenv\\wheel\\3.9\\image\\1\\CopyPipInstall\\setuptools-80.9.0-py3-none-any\\pkg_resources\\tests\\data\\my-test-package_zipped-egg\\my_test_package-1.0-py3.7.egg'

🤖 AI解决方案

错误分析报告

1. 错误翻译

原文:FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\lx\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\\LocalCache\\Local\\pypa\\virtualenv\\wheel\\3.9\\image\\1\\CopyPipInstall\\setuptools-80.9.0-py3-none-any\\pkg_resources\\tests\\data\\my-test-package_zipped-egg\\my_test_package-1.0-py3.7.egg'
译文:文件未找到错误:[错误号 2] 没有这样的文件或目录:[详细路径]

2. 原因分析

根本原因virtualenv 在创建虚拟环境时,无法找到 setuptools 包中特定的测试数据文件。

具体分析

  • 错误发生在 nb-cli 工具的 create 命令执行过程中

  • 当尝试为项目创建虚拟环境时,virtualenv 需要复制 setuptools 包的文件

  • 文件路径显示这是 setuptools-80.9.0 版本中的一个测试文件

  • 可能原因:setuptools 包安装不完整或缓存损坏
  • 3. 解决方案

    方法一:清理缓存并重新安装(推荐)

    # 1. 清理 virtualenv 缓存
    rmdir /s /q "%LOCALAPPDATA%\pypa\virtualenv"
    
    # 2. 重新安装 setuptools
    pip install --upgrade --force-reinstall setuptools
    
    # 3. 清理 pip 缓存
    pip cache purge
    
    # 4. 重新执行 nb 命令

    方法二:如果上述方法无效,手动指定 Python 版本

    # 使用特定 Python 版本创建项目
    nb create --python "C:\Python39\python.exe"

    4. ️ 预防措施

    建议一:定期清理包管理器缓存

  • 定期运行 pip cache purge 清理 pip 缓存

  • 使用 virtualenv --clear 参数创建干净的虚拟环境

  • 考虑设置环境变量 VIRTUALENV_CLEAR=1
  • ️ 建议二:使用稳定的 Python 版本

  • Python 3.13 目前是预发布版本,可能存在兼容性问题

  • 建议使用稳定的 Python 版本(如 3.9、3.10、3.11)

  • 考虑使用 pyenvconda 管理多个 Python 版本
  • 推荐工具

  • 使用 pipdeptree 检查包依赖关系

  • 使用 pip check 验证包完整性

  • 考虑使用 uv 作为更快的包管理器替代方案

---

提示:此错误通常与包缓存损坏相关,清理缓存通常能解决问题。如果问题持续,请检查磁盘空间和文件权限。