Windows 10安装python-rocksdb包遇编译错误求助
解决Windows 10下python-rocksdb安装失败的问题
针对MSVC编译报错 /Wextra 的解决思路
/Wextra 是GCC系列编译器的警告选项,MSVC并不支持这个参数,这是导致第一个错误的核心原因。你可以通过以下方式解决:
方法1:修改python-rocksdb源码适配MSVC
- 先下载源码包:
pip download python-rocksdb --no-deps - 解压下载的压缩包,打开里面的
setup.py文件,找到添加编译选项的代码段,把-Wextra删除,或者替换成MSVC支持的/W4选项。 - 进入解压后的目录,执行安装命令,同时指定vcpkg中rocksdb的头文件和库路径(替换成你的vcpkg实际路径):
python setup.py install --global-option="-IC:\vcpkg\installed\x64-windows\include" --global-option="-LC:\vcpkg\installed\x64-windows\lib"
方法2:换用MinGW-w64编译(替代Cygwin)
新版本Cygwin的GCC已经移除了-mcygwin选项,这是你第二个错误的根源,换成MinGW-w64更适配Windows下的Python编译流程:
- 安装MinGW-w64,安装时勾选
gcc、g++、make组件,安装完成后把MinGW的bin目录(比如C:\mingw64\bin)添加到系统环境变量PATH中。 - 执行以下命令安装,同样指定rocksdb的路径:
pip install python-rocksdb --global-option=build_ext --global-option="--compiler=mingw32" --global-option="-IC:\vcpkg\installed\x64-windows\include" --global-option="-LC:\vcpkg\installed\x64-windows\lib"
备选方案:使用预编译轮子
如果不想折腾编译流程,可以找对应你Python版本和系统架构的python-rocksdb预编译.whl文件,直接用pip install 文件名.whl安装即可。
内容的提问来源于stack exchange,提问作者Fonty
相关产品推荐
相关产品推荐

