执行pip install vuepy时出现Getting requirements to build wheel失败,求解决方案
pip install vuepy的「获取构建wheel的依赖项未成功运行」错误 问题根源
从错误日志来看,问题出在vuepy依赖的PyYAML 5.4.1编译环节,报错AttributeError: cython_sources。这是因为该版本PyYAML的构建逻辑与新版setuptools不兼容,而vuepy指定了pyyaml~=5.1的版本范围,会自动拉取5.4.1这个旧版本。
可行解决办法
先安装兼容的PyYAML版本,再安装vuepy
直接安装跳过编译的PyYAML,或者同大版本的兼容更新版:# 方法1:跳过构建隔离安装指定版本 pip install pyyaml==5.4.1 --no-build-isolation # 方法2:安装同大版本的更新兼容版(vuepy允许5.x版本) # pip install pyyaml==5.4.2 pip install vuepy直接带参数安装vuepy
跳过pip的构建隔离环节,使用当前环境的依赖来构建:pip install vuepy --no-build-isolation临时降级setuptools
如果以上方法无效,可临时降级setuptools到兼容版本,安装完成后再升级回来:pip install setuptools==65.5.0 pip install vuepy pip install --upgrade setuptools wheel pip
完整错误信息
C:\Users\XXXXX>pip install vuepy
正在收集vuepy
使用缓存的vuepy-0.3.0-py3-none-any.whl (275 kB)
正在收集brython==3.8.9 (来自vuepy)
使用缓存的brython-3.8.9.tar.gz (1.2 MB)
正在准备metadata (setup.py)... 完成
正在收集Jinja2~=2.10 (来自vuepy)
使用缓存的Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
正在收集pyyaml~=5.1 (来自vuepy)
使用缓存的PyYAML-5.4.1.tar.gz (175 kB)
正在安装构建依赖... 完成
获取构建wheel的依赖项... 错误
error: subprocess-exited-with-error× 获取构建wheel的依赖项未成功运行。
│ 退出码: 1
╰─> [62行输出]
C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\config\setupcfg.py:293: _DeprecatedConfig:setup.cfg中存在已弃用的配置
!!******************************************************************************** license_file参数已被弃用,请改用license_files。 此弃用已逾期,请更新你的项目并移除已弃用的调用,以避免未来出现构建错误。 详情请见https://setuptools.pypa.io/en/latest/userguide/declarative_config.html!!
parsed = self.parsers.get(option_name, lambda x: x)(value)
正在运行egg_info
写入lib3\PyYAML.egg-info\PKG-INFO
写入依赖链接到lib3\PyYAML.egg-info\dependency_links.txt
写入顶级名称到lib3\PyYAML.egg-info\top_level.txt
回溯(最近的调用最后):
文件 "C:\Users\XXXXX\AppData\Local\Programs\Python\Python310\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py",第353行,在中
main()
文件 "C:\Users\XXXX\AppData\Local\Programs\Python\Python310\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py",第335行,在main中
json_out['return_val'] = hook(**hook_input['kwargs'])
文件 "C:\Users\XXXX\AppData\Local\Programs\Python\Python310\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py",第118行,在get_requires_for_build_wheel中
return hook(config_settings)
文件 "C:\Users\XXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\build_meta.py",第355行,在get_requires_for_build_wheel中
return self.get_build_requires(config_settings, requirements=['wheel'])
文件 "C:\Users\XXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\build_meta.py",第325行,在_get_build_requires中
self.run_setup()
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\build_meta.py",第341行,在run_setup中
exec(code, locals())
文件 "",第271行,在 .py",第103行,在setup中中
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_init
return distutils.core.setup(**attrs)
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\core.py",第185行,在setup中
return run_commands(dist)
文件 "C:\Users\XXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\core.py",第201行,在run_commands中
dist.run_commands()
文件 "C:\Users\XXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\dist.py",第969行,在run_commands中
self.run_command(cmd)
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\dist.py",第989行,在run_command中
super().run_command(command)
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\dist.py",第988行,在run_command中
cmd_obj.run()
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\command\egg_info.py",第318行,在run中
self.find_sources()
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\command\egg_info.py",第326行,在find_sources中
mm.run()
文件 "C:\Users\XXXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\command\egg_info.py",第548行,在run中
self.add_defaults()
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\command\egg_info.py",第586行,在add_defaults中
sdist.add_defaults(self)
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools\command\sdist.py",第113行,在add_defaults中
super().add_defaults()
文件 "C:\Users\XXXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\command\sdist.py",第251行,在add_defaults中
self._add_defaults_ext()
文件 "C:\Users\XXXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\command\sdist.py",第336行,在_add_defaults_ext中
self.filelist.extend(build_ext.get_source_files())
文件 "",第201行,在get_source_files中
文件 "C:\Users\XXXXX\AppData\Local\Temp\pip-build-env-69wqwgg9\overlay\Lib\site-packages\setuptools_distutils\cmd.py",第107行,在__getattr__中
raise AttributeError(attr)
AttributeError: cython_sources
[输出结束]note: 此错误源自子进程,大概率不是pip的问题。
error: subprocess-exited-with-error× 获取构建wheel的依赖项未成功运行。
│ 退出码: 1
╰─> 请查看上方输出。note: 此错误源自子进程,大概率不是pip的问题。
内容的提问来源于stack exchange,提问作者הינדה הרשטיק

