Windows11虚拟环境下pip安装python-weka-wrapper3失败(javabridge报错)
问题解决:Windows 11虚拟环境中安装python-weka-wrapper3时javabridge报错
设备环境
- 运行Windows 11系统,处于虚拟环境中
问题场景
安装python-weka-wrapper3时,javabridge安装环节出现FileNotFoundError,具体报错信息如下:
Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [12 lines of output] Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "C:\Users\rokma\AppData\Local\Temp\pip-install-k1w_wc1a\python-javabridge_aa9e4024f3b64514a623f6067161d163\setup.py", line 412, in <module> ext_modules=ext_modules(), File "C:\Users\rokma\AppData\Local\Temp\pip-install-k1w_wc1a\python-javabridge_aa9e4024f3b64514a623f6067161d163\setup.py", line 120, in ext_modules p = subprocess.Popen(cmd) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 971, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 1440, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.
已尝试步骤
- 重新安装JDK,并将JAVA_HOME分别指向JDK 8、11、19版本;
- 执行以下命令尝试安装javabridge:
set MSSdk=1 set DISTUTILS_USE_SDK=1 pip install javabridge
- 修复版本高于14.0的Visual C++;
- 尝试过其他已遗忘的解决步骤
解决方案
1. 完善JDK环境变量配置
- 除了设置
JAVA_HOME指向JDK根目录,需将JDK的bin目录添加到系统PATH环境变量(例如C:\Program Files\Java\jdk1.8.0_381\bin); - 配置后重启终端和虚拟环境,执行
java -version和javac -version验证JDK工具可正常调用。
2. 安装完整C++编译工具
- 下载并安装Visual Studio Build Tools,安装界面勾选「C++ build tools」组件,确保包含:
- MSVC v143 - VS 2022 C++ x64/x86生成工具(对应系统兼容版本)
- Windows 11 SDK
- 安装完成后重启电脑,保证编译工具可被系统识别。
3. 带指定环境变量重新安装javabridge
激活虚拟环境后执行:
set JAVA_HOME=你的JDK完整路径(如C:\Program Files\Java\jdk1.8.0_381) set PATH=%JAVA_HOME%\bin;%PATH% set MSSdk=1 set DISTUTILS_USE_SDK=1 pip install javabridge --no-cache-dir
4. 尝试预编译wheel包安装
若编译安装失败,直接用预编译包跳过编译流程:
pip install javabridge==4.0.3 --only-binary :all:
(注:需根据自身Python版本选择兼容的javabridge版本,可在PyPI查询对应适配版本)
内容的提问来源于stack exchange,提问作者RM Code
相关产品推荐
相关产品推荐

