Windows 8系统Python 3环境下pip安装numpy包失败求助
解决Windows 8下Python 3用pip安装numpy失败的问题
嘿,我之前在Windows 8上用Python 3装numpy也碰到过几乎一模一样的问题!那个Unknown distribution option: 'define_macros'警告其实是distutils的配置冲突导致的,大概率是版本不兼容或者工具链太旧,给你几个亲测有效的解决办法:
先把pip和setuptools更到最新
旧版本的pip可能处理不了新numpy包的配置逻辑,先打开命令提示符(CMD),运行这行命令更新工具:
python -m pip install --upgrade pip setuptools
更新完成后再试安装numpy:
pip install numpy
直接用预编译的wheel包(最省心)
Windows下手动编译numpy特别容易踩坑,优先用官方打包好的预编译wheel包。先确认你的Python是32位还是64位,运行:
python -c "import sys; print(sys.version, sys.platform, sys.maxsize > 2**32)"
输出最后是True就是64位,False是32位。然后找对应Python版本的numpy wheel包(比如Python3.9对应numpy-1.21.6-cp39-none-win_amd64.whl,win_amd64是64位),下载后用pip安装本地文件:
pip install 你下载的wheel文件名.whl
确认Python和pip的路径匹配
有时候Windows下会同时装多个Python版本,导致pip调用的不是你安装的那个Python3。先检查路径是否一致:
where python where pip
如果两个路径不在同一个f:\python\文件夹下,就直接指定用目标Python的pip来安装:
f:\python\python.exe -m pip install numpy
试试兼容性更好的旧版本numpy
如果上面的方法都不行,试试安装对Windows 8和旧版Python3更友好的numpy版本,比如:
pip install numpy==1.19.5
另外提一句,那个define_macros警告本身其实不是致命错误,但后面安装失败大概率是因为Windows缺少Visual C++编译工具——不过用预编译的wheel包就能绕过这个麻烦,不用额外装编译工具~
内容的提问来源于stack exchange,提问作者Matrix11




