MSYS2环境下Python3.11安装bitstruct失败的解决求助
问题描述
我正在使用2024年5月30日最新版本的MSYS2,它内置了Python 3.11。我的项目需要通过pip3 install bitstruct安装bitstruct库,pip尝试获取8.19.0版本,但在构建过程中出现以下错误:
pip3 install bitstruct Collecting bitstruct Using cached bitstruct-8.19.0.tar.gz (35 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: bitstruct Building wheel for bitstruct (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for bitstruct (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [21 lines of output] running bdist_wheel running build running build_py creating build creating build/lib.mingw_x86_64-cpython-311 creating build/lib.mingw_x86_64-cpython-311/bitstruct copying src/bitstruct/__init__.py -> build/lib.mingw_x86_64-cpython-311/bitstruct running egg_info writing src/bitstruct.egg-info/PKG-INFO writing dependency_links to src/bitstruct.egg-info/dependency_links.txt writing top-level names to src/bitstruct.egg-info/top_level.txt reading manifest file 'src/bitstruct.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'src/bitstruct.egg-info/SOURCES.txt' copying src/bitstruct/bitstream.c -> build/lib.mingw_x86_64-cpython-311/bitstruct copying src/bitstruct/bitstream.h -> build/lib.mingw_x86_64-cpython-311/bitstruct copying src/bitstruct/c.c -> build/lib.mingw_x86_64-cpython-311/bitstruct running build_ext building 'bitstruct.c' extension error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64') [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for bitstruct Failed to build bitstruct ERROR: Could not build wheels for bitstruct, which is required to install pyproject.toml-based projects
解决方法
针对MSYS2环境下的--plat-name不匹配问题,可尝试以下方案:
方案1:指定平台名称安装
直接在pip命令里强制指定符合Windows要求的平台名称,64位系统用win-amd64:pip3 install bitstruct --install-option="--plat-name=win-amd64"方案2:安装纯Python版本
跳过C扩展编译,安装bitstruct的纯Python实现版本:pip3 install bitstruct --no-binary :all: --install-option="--pure"方案3:切换MSYS2子环境
如果当前用的是UCRT64环境,切换到mingw64环境(打开终端时选择MinGW64),再重新运行pip安装命令。不同子环境的Python对Windows平台编译的兼容性有差异。方案4:降级bitstruct版本
最新的8.19.0版本可能存在兼容问题,尝试安装旧版本(如8.18.0):pip3 install bitstruct==8.18.0
内容的提问来源于stack exchange,提问作者RobinM
相关产品推荐
相关产品推荐

