python - MongoDB node.js驱动安装需要Python吗?

标签 python node.js mongodb installation

我正在尝试在 Windows 10 上为 Nodejs 安装 mongodb 驱动程序并收到以下有关 Python 的错误。

Python 是先决条件吗? 而且它也只期望 Python 版本 2.5 到 3.0。 在 Python 之上,它一直要求安装其他 MS Visual Studio 2008 或 MS SDK/.Net? 它是否需要所有这些作为先决条件。

C:\Jay\M101JS>npm install mongodb
-
> kerberos@0.0.14 install C:\Jay\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos
> (node-gyp rebuild) || (exit 0)


C:\Jay\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:116:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:71:11
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Windows_NT 10.0.10240
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Jay\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
mongodb@2.0.43 node_modules\mongodb
├── es6-promise@2.1.1
├── readable-stream@1.0.31 (string_decoder@0.10.31, inherits@2.0.1, isarray@0.0.1, core-util-is@1.0.1)
└── mongodb-core@1.2.12 (bson@0.4.12, kerberos@0.0.14)

更新:

我在安装 Python 2.7 和 Visual Studio Express(免费)后再次尝试,现在出现以下错误,

C:\Jay\MongoDb\M101JS>npm install mongodb
-
> kerberos@0.0.14 install C:\Jay\MongoDb\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos
> (node-gyp rebuild) || (exit 0)


C:\Jay\MongoDb\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos>if not defined npm_config_node_gyp (node "C:\Program Files\
nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not find WindowsSDKDir variable from
 the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number. [C:\Jay\MongoDb\M101JS\node_modules\mongodb\node_m
odules\mongodb-core\node_modules\kerberos\build\kerberos.vcxproj]
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified. [C:\Jay\MongoDb\M101JS\node_modules\mongodb\node_modu
les\mongodb-core\node_modules\kerberos\build\kerberos.vcxproj]


gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebui
ld"
gyp ERR! cwd C:\Jay\MongoDb\M101JS\node_modules\mongodb\node_modules\mongodb-core\node_modules\kerberos
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
mongodb@2.0.43 node_modules\mongodb
├── readable-stream@1.0.31 (string_decoder@0.10.31, isarray@0.0.1, inherits@2.0.1, core-util-is@1.0.1)
├── es6-promise@2.1.1
└── mongodb-core@1.2.12 (bson@0.4.12, kerberos@0.0.14)

最佳答案

是的,Python 是必需的。

您需要安装 2.7 版。 您还需要设置 PYTHON环境变量,例如c:\python27\python.exe (确保可以从运行 env p 的命令行访问它)

您需要安装 Visual Studio (C++),免费的 Express 版本即可。

根据您的 Visual Studio 版本,您必须将此参数添加到您的 npm install命令:

npm install --msvs_version=<version>其中 <version>可能是 2012 , 20132015例如。

依赖项由 node-gyp 引入由 Node.js MongoDb 驱动程序使用。可以找到 Windows 的安装说明 here (比这个答案显示更多细节)。

关于python - MongoDB node.js驱动安装需要Python吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684260/

相关文章:

python - Pandas groupby 可变时间间隔

python - RFID应答卡没有唯一的atr

javascript - 过滤除函数之外的所有内容

node.js - Heroku piggyback SSL with node and express - 需要任何配置吗?

javascript - 如何在angularjs中刷新和重新绑定(bind)数据库中的数据

mongodb - 如何从 MongoDB 中删除数据而不使其停止运行?

python - 从 json-column 创建新列

python - LSTM:了解时间步长、样本和特征,尤其是在 reshape 和 input_shape 中的使用

javascript - bot.login(token); 怎么样?输入意外结束?

java - 使用 Java Driver 询问 MongoDB host 是否为 Master