所以我作为管理员运行了npm install --global windows-build-tools
,它说我已经成功安装了python 2.7。
但是当我在npm i sqlite3
之后尝试electron-rebuild -f -w sqlite3
时,它给了我这个错误。
×重建失败的
电子重建内部出现未处理的错误
gyp ERR!配置错误
gyp ERR!堆栈错误:命令失败:C: \Users\newub\AppData\Local\Programs\Python37\Python.EXE-C导入sys;打印"%s.%s.%s"%sys.version_ifo[:3];
gyp ERR!堆栈文件",第1行
gyp ERR!堆栈导入系统;打印"%s.%s.%s"%sys.version_info[:3];
gyp ERR!堆栈^
gyp ERR!stack SyntaxError:语法无效
根据消息,您正在使用Python 3.7
,但这些代码需要Python 2.7
才能运行。
您可以通过以下方式之一确定
node-gyp
应该使用哪个Python版本:
- 如果通过
npm
、和调用node-gyp
,则安装了多个版本的Python,则可以设置npm
的'Python'配置适当值的键:$ npm config set python /path/to/executable/python
如果
PYTHON
环境变量设置为Python可执行文件的路径,则将使用该版本(如果它是兼容的(版本如果
NODE_GYP_FORCE_PYTHON
环境变量设置为Python可执行文件的路径,则将使用它而不是其他配置或内置的Python搜索路径。如果不是兼容版本,将不再进行进一步搜索。
您可以在cmd dispally环境变量中使用set
命令。
PS:在Windows中使用node-gyp
需要Visual C++ build tools
、Python 2.7
(不支持v3.x.x
(和一些配置。你可以
使用Microsoft的通过从运行
npm install -g windows-build-tools
来构建windows工具提升的PowerShell(以管理员身份运行(。
请参阅:
设置python版本:nodejs/node gyp:node.js原生插件构建工具
环境设置和配置:nodejs guidelines/windows-Environment.md at master·microsoft/nodjs指南
它显示节点gyp在您的系统中使用python 3。
但是node-gyp需要python 2。
您可以在您的$Path环境变量中在python 3 Path之前添加python 2 Path。
在cmd中键入which python
,确保它是python 2。