Windows10安装psqlparse==1.0rc7时wheel构建失败如何解决?
问题:Windows10 64位系统安装psqlparse==1.0rc7失败(Wheel构建错误)
已尝试的安装方法
三种方法均触发相同的wheel构建错误:
- 方法1:基础pip安装
pip install psqlparse==1.0rc7
- 方法2:升级式pip安装
pip install -U psqlparse==1.0rc7
- 方法3:直接运行setup.py
python setup.py install
错误详情
Collecting psqlparse==1.0rc7 Using cached psqlparse-1.0rc7.tar.gz (1.3 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: six in c:\users\soha\appdata\roaming\python\python37\site-packages (from psqlparse==1.0rc7) (1.16.0) Building wheels for collected packages: psqlparse Building wheel for psqlparse (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [19 lines of output] c:\users\soha\appdata\local\programs\python\python375\lib\site-packages\setuptools\dist.py:529: UserWarning: Normalizing '1.0-rc7' to '1.0rc7' warnings.warn(tmpl.format(**locals())) running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\psqlparse copying psqlparse\exceptions.py -> build\lib.win-amd64-cpython-37\psqlparse copying psqlparse\__init__.py -> build\lib.win-amd64-cpython-37\psqlparse creating build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\nodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\parsenodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\primnodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\utils.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\value.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\__init__.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes running build_ext error: [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: Failed building wheel for psqlparse Running setup.py clean for psqlparse Failed to build psqlparse Installing collected packages: psqlparse Running setup.py install for psqlparse ... error error: subprocess-exited-with-error × Running setup.py install for psqlparse did not run successfully. │ exit code: 1 ╰─> [21 lines of output] c:\users\soha\appdata\local\programs\python\python375\lib\site-packages\setuptools\dist.py:529: UserWarning: Normalizing '1.0-rc7' to '1.0rc7' warnings.warn(tmpl.format(**locals())) running install c:\users\soha\appdata\local\programs\python\python375\lib\site-packages\setuptools\command\install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. setuptools.SetuptoolsDeprecationWarning, running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\psqlparse copying psqlparse\exceptions.py -> build\lib.win-amd64-cpython-37\psqlparse copying psqlparse\__init__.py -> build\lib.win-amd64-cpython-37\psqlparse creating build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\nodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\parsenodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\primnodes.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\utils.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\value.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes copying psqlparse\nodes\__init__.py -> build\lib.win-amd64-cpython-37\psqlparse\nodes running build_ext error: [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: legacy-install-failure × Encountered error while trying to install package. ╰─> psqlparse
解决方案
psqlparse依赖PostgreSQL的C解析库,Windows平台无官方预编译wheel,需手动配置编译环境:
安装PostgreSQL开发组件
下载适配Windows 64位的PostgreSQL安装包(建议选12+版本,匹配Python3.7),安装时必须勾选Development Files组件,完成后将PostgreSQL的bin、include、lib路径添加到系统环境变量。配置C++编译环境
安装Microsoft Visual C++ Build Tools(Python3.7需对应VS2017版本工具集),安装时勾选C++ build tools和Windows 10 SDK组件。手动指定路径安装
若环境变量配置后仍报错,执行安装命令时手动指定PostgreSQL路径:pip install psqlparse==1.0rc7 --global-option=build_ext --global-option="-I你的PostgreSQL安装路径\include" --global-option="-L你的PostgreSQL安装路径\lib"备选:使用预编译wheel
获取对应Python3.7的Windows 64位预编译wheel文件,本地执行安装:pip install psqlparse-1.0rc7-cp37-cp37m-win_amd64.whl升级Python版本
Python3.7已停止维护,该包对旧版本Windows支持有限,可尝试升级到Python3.8+后再执行安装命令。
内容的提问来源于stack exchange,提问作者alireza
相关产品推荐
相关产品推荐

