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