npm - "找不到Python可执行文件"python",你可以设置PYTHON env变量."

Nic*_*ick 22 python node.js npm npm-install

我正在尝试运行以下命令: npm install -g bower gulp cordova ionic tsd@next karma-cli protractor node-gyp coffee-script js-beautify typescript npm-check

我已经安装了Python,Visual Studio Express和node-gyp,所以我觉得我很高兴,但是我得到了以下错误:

在此输入图像描述

关于"Can't find Python executable "python", you can set the PYTHON env variable."错误,我有点困惑,因为我已经设置了PYTHON环境变量,如下所示:

在此输入图像描述

有什么想法吗?

Lah*_*nge 18

只需在具有管理员访问权限的命令下运行

npm install --global --production windows-build-tools

  • 包 `windows-build0tools` 已弃用:https://www.npmjs.com/package/windows-build-tools (7认同)

小智 17

尝试:

使用Microsoft的windows-build-tools安装所有必需的工具和配置,方法是npm install -g windows-build-tools从提升的PowerShell(以管理员身份运行)运行.

https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#environment-setup-and-configuration

  • 这代表我成功了。虽然它会安装 Python 2.7 很烦人,因为我不想用我不打算使用的 Python 版本污染我的环境。 (2认同)
  • 该命令当前返回此响应“windows-build-tools@5.2.2:Node.js 现在包含适用于 Windows 的构建工具。您可能不再需要此工具。请参阅 https://github.com/felixrieseberg/windows-build-详细信息的工具。” (2认同)

jve*_*sei 12

你必须将python添加到PATH变量中.您可以做的一件事是现在编辑您的路径变量并添加

;%PYTHON%;

您的变量PYTHON应指向python安装的根目录.

  • 谢谢,我已经将PYTHON路径设置为`C:\ Program Files \ Python_2.7.10;%PYTHON%;`,但不幸的是我仍然遇到相同的错误 (2认同)
  • 实际上,您想将 python 路径设置为“C:\Program Files\Python_2.7.10”,然后编辑“PATH”变量并添加“;%PYTHON;”。我在本地查找了它,并添加了 `C:\Python34;C:\Python34\Scripts;` 以使事情正常工作。虽然如你所见,我没有使用 Python 2。 (2认同)
  • omg ...我没有意识到我必须关闭命令窗口才能使新变量正常运行.非常感谢大家的回复和建议! (2认同)

Sha*_*med 12

最简单的方法是让 NPM 为你做一切,

npm --add-python-to-path='true' --debug install --global windows-build-tools
Run Code Online (Sandbox Code Playgroud)


小智 10

https://github.com/nodejs/node-gyp#on-windows

https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#environment-setup-and-configuration

尝试

npm config set python D:\Library\Python\Python27\python.exe
Run Code Online (Sandbox Code Playgroud)

  • 这导致了 npm ERR! `python` 不是有效的 npm 选项 (2认同)

Raj*_*esh 10

MAC:就我而言,我只需运行以下命令即可解决错误:

npm config set python python3
Run Code Online (Sandbox Code Playgroud)

  • 这一错误引入了更多错误,例如“调用‘print’时缺少括号”。您是说打印吗? (4认同)
  • `npm 错误!`python` 不是有效的 npm 选项` (3认同)

小智 9

我最近在使用 dockerfilenode:16-alpine作为基础映像时遇到了这个问题。我添加了以下运行命令来解决该问题:

FROM node:alpine as build-stage
RUN apk add --no-cache python3 py3-pip make g++
Run Code Online (Sandbox Code Playgroud)

在这里,两个标签node:alpine&node:16-alpine是相同的。


小智 8

我安装了python2.7来解决这个问题.我希望可以帮到你.

  • 现在 2022 年了! (26认同)
  • 我不敢相信它已经是2018年,但他们希望我安装Python 2. (7认同)
  • @ZhangBuzz是因为node-gyp依赖的gyp工具是为Python 2编写的,与Python 3不兼容。 (3认同)
  • 这解决了我的问题......可悲的是。 (2认同)
  • 2021年了,他们仍然想要它aa,并且由于bug而无法安装2.7(无限循环)。 (2认同)
  • @LachoTomov 摆脱瀑布周期的敏捷世界,需要补丁和版本升级来修复错误和漏洞,否则你的比特币钱包就会落入嬉皮士手中 (2认同)

小智 8

我的问题是 Node v16 的使用。

我回到 Node v12(v14 可能也不错)并且它起作用了。


Elh*_*ony 5

以下解决方案之一适合您:

  1. npm 配置设置 pythonc:\Python\27\python.exeset PYTHON=D:\Python\bin\Python.exe
  2. npm config set python D:\Library\Python\Python27\python.exe
  3. 让 npm 为您配置一切(需要永远完成)npm --add-python-to-path='true' --debug install --global windows-build-tools(必须通过“以管理员身份运行”PowerShell 执行)

如果没有...尝试自己安装所需的包(我就是这样做的node-sass,手动安装后,整个npm install就顺利完成了