You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下pip安装JupyterLab报subprocess-exited-with-error如何解决

问题描述

我尝试在本地Windows系统上安装Jupyter Notebook,设备已安装并启用WSL,暂不确定WSL是否会对安装流程造成干扰。

执行pip install jupyterlab命令后,得到如下输出:

Using cached jupyterlab-3.4.3-py3-none-any.whl (8.8 MB)
Collecting jupyterlab-server~=2.10
  Using cached jupyterlab_server-2.14.0-py3-none-any.whl (54 kB)
Collecting nbclassic~=0.2
  Using cached nbclassic-0.3.7-py3-none-any.whl (13 kB)
Collecting jinja2>=2.1
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting jupyter-server~=1.16
  Using cached jupyter_server-1.18.0-py3-none-any.whl (344 kB)
Collecting ipython
  Using cached ipython-8.4.0-py3-none-any.whl (750 kB)
Collecting jupyter-core
  Using cached jupyter_core-4.10.0-py3-none-any.whl (87 kB)
Collecting tornado>=6.1.0
  Using cached tornado-6.1.tar.gz (497 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: packaging in c:\msys64\mingw64\lib\python3.9\site-packages (from jupyterlab) (21.3)
Collecting MarkupSafe>=2.0
  Using cached MarkupSafe-2.1.1.tar.gz (18 kB)
  Preparing metadata (setup.py) ... done
Collecting prometheus-client
  Using cached prometheus_client-0.14.1-py3-none-any.whl (59 kB)
Collecting traitlets>=5.1
  Using cached traitlets-5.3.0-py3-none-any.whl (106 kB)
Collecting websocket-client
  Using cached websocket_client-1.3.3-py3-none-any.whl (54 kB)
Collecting pywinpty
  Using cached pywinpty-2.0.5.tar.gz (23 kB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [63 lines of output]
      Collecting maturin<0.13,>=0.12.6
        Using cached maturin-0.12.20.tar.gz (156 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'error'
        error: subprocess-exited-with-error
     
        Getting requirements to build wheel did not run successfully.
        exit code: 1
     
        [40 lines of output]
        Traceback (most recent call last):
          File "C:\Users\SMaronas\AppData\Local\Temp\tmp8a0ebdap_in_process.py", line 363, in <module>
            main()
          File "C:\Users\SMaronas\AppData\Local\Temp\tmp8a0ebdap_in_process.py", line 345, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "C:\Users\SMaronas\AppData\Local\Temp\tmp8a0ebdap_in_process.py", line 124, in get_requires_for_build_wheel            backend = _build_backend()
          File "C:\Users\SMaronas\AppData\Local\Temp\tmp8a0ebdap_in_process.py", line 89, in _build_backend
            obj = import_module(mod_path)
          File "C:\msys64\mingw64\lib\python3.9\importlib\__init__.py", line 127, in import_module
            return _bootstrap._gcd_import(name[level:], package, level)
          File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
          File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
          File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
          File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
          File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
          File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
          File "<frozen importlib._bootstrap_external>", line 850, in exec_module
          File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
          File "C:\Users\SMaronas\AppData\Local\Temp\pip-build-env-riviqm6h\overlay\lib\python3.9\site-packages\setuptools\__init__.py", line 241, in <module>
            monkey.patch_all()
          File "C:\Users\SMaronas\AppData\Local\Temp\pip-build-env-riviqm6h\overlay\lib\python3.9\site-packages\setuptools\monkey.py", line 99, in patch_all
            patch_for_msvc_specialized_compiler()
          File "C:\Users\SMaronas\AppData\Local\Temp\pip-build-env-riviqm6h\overlay\lib\python3.9\site-packages\setuptools\monkey.py", line 162, in patch_for_msvc_specialized_compiler
            patch_func(*msvc9('find_vcvarsall'))
          File "C:\Users\SMaronas\AppData\Local\Temp\pip-build-env-riviqm6h\overlay\lib\python3.9\site-packages\setuptools\monkey.py", line 149, in patch_params
            mod = import_module(mod_name)
          File "C:\msys64\mingw64\lib\python3.9\importlib\__init__.py", line 127, in import_module
            return _bootstrap._gcd_import(name[level:], package, level)
          File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
          File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
          File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
          File "<frozen importlib._bootstrap_external>", line 850, in exec_module
          File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
          File "C:\Users\SMaronas\AppData\Local\Temp\pip-build-env-riviqm6h\overlay\lib\python3.9\site-packages\setuptools\_distutils\msvc9compiler.py", line 295, in <module>
            raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION)
        distutils.errors.DistutilsPlatformError: VC 6.0 is not supported by this module
        [end of output]
     
        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: subprocess-exited-with-error
     
      Getting requirements to build wheel did not run successfully.
      exit code: 1
      
      See above for output.
     
      note: This error originates from a subprocess, and is likely not a problem with pip.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

已尝试执行pip install wheel命令排查问题,返回结果显示wheel已安装:

Requirement already satisfied: wheel in c:\msys64\mingw64\lib\python3.9\site-packages (0.37.1)

此外还尝试过完全卸载并重新安装Python,上述问题仍未得到解决。

问题根因

和WSL完全无关。报错核心原因是当前使用的Python是MSYS2 MinGW64 环境下的移植版本,不是Python官方发布的原生Windows版本。这类移植版Python默认使用MinGW GCC编译链,而pip安装pywinpty依赖时拉取的新版setuptools会强制检测MSVC编译环境,检测到的VC版本不兼容就会直接抛出错误。重装Python没解决是因为重装的还是MSYS2源里的MinGW版Python,环境本身没有变化。

解决方案

按优先级选任意一种即可:

  • 方案1(最省事):下载Python官方Windows安装包重新安装,安装时勾选Add Python to PATH选项,安装完成后打开新的cmd/PowerShell窗口,确认where python返回的路径是C:\Users\你的用户名\AppData\Local\Programs\Python\开头的官方路径,再执行pip install jupyterlab即可正常安装,不会触发源码编译报错。
  • 方案2(继续用MSYS2环境):不要通过pip安装,直接用MSYS2的pacman包管理器安装预编译好的JupyterLab,执行命令:
    pacman -S mingw-w64-x86_64-jupyterlab
    
    这种方式安装的包都是MinGW环境提前编译好的,不需要本地走编译流程,不会触发MSVC版本检测报错。
  • 方案3(保留现有Python、用pip安装):提前通过pacman安装编译好的pywinpty依赖,再执行pip安装,命令如下:
    pacman -S mingw-w64-x86_64-pywinpty
    pip install jupyterlab
    
    此时pip检测到pywinpty已经存在,就不会再拉取源码尝试编译,自然不会触发报错。

注意:如果选方案1,记得把环境变量里MSYS2的Python路径优先级调低,或者直接用官方Python的绝对路径执行pip,避免终端还是调用到MSYS2里的Python版本。

内容的提问来源于stack exchange,提问作者sebsmgzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:45:31