Windows下无法安装Python Poppler:VS环境激活失败,无法解析vswhere.exe输出
安装python-poppler时的编译错误排查
尝试通过pip安装python-poppler包时出现如下错误:
error: subprocess-exited-with-error Preparing metadata (pyproject.toml) did not run successfully. exit code: 1 [20 lines of output] + meson setup C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c\.mesonpy-hzuth6wu\build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c\.mesonpy-hzuth6wu\build\meson-python-native-file.ini The Meson build system Version: 1.1.1 Source dir: C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c Build dir: C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c\.mesonpy-hzuth6wu\build Build type: native build Project name: python-poppler Project version: 0.4.1 WARNING: Failed to activate VS environment: Could not parse vswhere.exe output ..\..\meson.build:1:0: ERROR: Unknown compiler(s): [['icl'], ['cl'], ['c++'], ['g++'], ['clang++'], ['clang-cl']] The following exception(s) were encountered: Running `icl ""` gave "[WinError 2] The system cannot find the file specified" Running `cl /?` gave "[WinError 2] The system cannot find the file specified" Running `c++ --version` gave "[WinError 2] The system cannot find the file specified" Running `g++ --version` gave "[WinError 2] The system cannot find the file specified" Running `clang++ --version` gave "[WinError 2] The system cannot find the file specified" Running `clang-cl /?` gave "[WinError 2] The system cannot find the file specified" A full log can be found at C:\Users\fpiccorelli\AppData\Local\Temp\pip-install-qb9zfo1c\python-poppler_1c994e98bcfb487ba8f59b067e0f162c\.mesonpy-hzuth6wu\build\meson-logs\meson-log.txt [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.
疑问:该错误与Windows下无法用pip安装Scipy的错误类似,但使用的是64位Anaconda Navigator解释器,是否是因为Visual Studio安装时选择了.NET而非C++组件导致的?
解答
是的,这个错误确实源于缺少C++编译环境。python-poppler需要从源码编译安装,而编译过程依赖C编译器;如果Visual Studio仅安装了.NET组件,未安装C工具链,系统就找不到cl.exe等必要编译器,从而触发上述错误。
解决方法:
- 修复Visual Studio安装:打开Visual Studio Installer,选择已安装的VS版本,点击「修改」,勾选「桌面开发使用C++」组件(该组件包含MSVC编译器、Windows SDK等编译必需工具),完成修改后重启系统。
- 使用预编译二进制包:对于Anaconda环境,优先尝试通过conda安装预编译版本,避免源码编译:
conda install -c conda-forge python-poppler - 重启环境:安装完成后,重启Anaconda Navigator或终端,确保编译器环境变量生效,再重新尝试安装操作。
内容的提问来源于stack exchange,提问作者YouKnow
相关产品推荐
相关产品推荐

