安装enmap-sqlite模块报错:找不到Python可执行文件(已配PYTHON变量)
我来帮你搞定这个node-gyp找不到Python的麻烦——虽说你已经配置了环境变量,但node-gyp这玩意儿有时候就是不认死理,咱们一步步来排查解决:
先确认Python版本是否达标:node-gyp对Python版本有严格要求,比如Node.js 16及以上版本需要Python 3.7~3.11之间的版本,3.12及以上的新版本很多原生模块还没适配。打开终端输入
python --version或者py --version看看版本,要是不对,赶紧装个符合要求的版本。强制给node-gyp指定Python路径:有时候系统环境变量没被node-gyp正确识别,直接用npm命令把路径焊死:
npm config set python "C:\你的Python完整安装路径\python.exe"举个例子,如果你的Python装在
C:\Python39,那就是npm config set python "C:\Python39\python.exe",设置完再重新跑npm install enmap-sqlite试试。Windows用户必须装构建工具:Windows下node-gyp依赖Visual Studio的C++构建工具,别嫌麻烦,打开管理员权限的终端运行:
npm install --global windows-build-tools这个命令会自动安装所需的构建组件,甚至会帮你装适配的Python版本,安装过程可能要等个几分钟,别中途关掉。
清理缓存重试:有时候npm缓存的旧配置会搞出奇怪的问题,先清掉缓存:
npm cache clean --force然后删掉项目里的
node_modules文件夹和package-lock.json文件,再重新执行安装命令。安装时直接指定Python路径:如果上面的方法都不管用,那就安装的时候直接给参数:
npm install enmap-sqlite --python="C:\你的Python完整路径\python.exe"
内容的提问来源于stack exchange,提问作者Enissay

