npm - “无法找到Python可执行文件“python”,您可以设置PYTHON环境变量。”

129
我正在尝试运行以下命令: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,因此认为一切都应该没问题,但是我收到了以下错误提示:

enter image description here

关于“找不到Python可执行文件‘python’,您可以设置PYTHON环境变量。”错误,我有点困惑,因为我已经设置了PYTHON环境变量,如下所示:

enter image description here

任何想法请?

1
你的实际路径中有下划线吗? - Padraic Cunningham
谢谢@PadraicCunningham,是的,有http://i.imgur.com/1kuv8Pw.png - Nick
1
你能发布完整的环境变量,就按照您所设置的方式吗?您也可以将其添加到您的 PATH 中。 - Padraic Cunningham
1
将其设置为可执行文件所在的文件夹,C:\Program Files\Python_2.7.10,或在系统变量下添加 https://dev59.com/qHA65IYBdhLWcg3wqQY8#4855685 到您的 PATH。 - Padraic Cunningham
1
没问题,不用谢。你可以添加并接受一个对你有用的答案。 - Padraic Cunningham
显示剩余2条评论
18个回答

126

5
这对我来说解决了问题。但很烦人的是它会安装Python 2.7,而我不想在我的环境中使用我不需要的Python版本。 - bork
1
这应该是完美的答案。 - Dipankar Naskar
1
修复了这个错误,还有可能有其他我还没有遇到的。接下来要进入开发机器设置步骤列表! - Natasha Voloshyna
需要在此之后重新启动系统吗?对我来说似乎是必须的才能正常工作。 - faza
2
当前命令返回以下响应:“windows-build-tools@5.2.2:Node.js现在包含了Windows的构建工具。您可能不再需要此工具。有关详细信息,请参见https://github.com/felixrieseberg/windows-build-tools。” - smurtagh
显示剩余2条评论

47

2
这导致了 npm ERR!python 不是一个有效的 npm 选项。 - mnagdev
在npm v9中,'python'选项已被移除-请参阅https://stackoverflow.com/questions/74522956/python-is-not-a-valid-npm-option。 - undefined

39

我安装了Python2.7来解决这个问题。


2
这解决了我的问题...可惜。 - Carson
4
这是因为 node-gyp 依赖的 gyp 工具是用 Python 2 编写的,并且与 Python 3 不兼容。 - Shweta Gupta
9
2021年了,他们仍然想要它,但2.7由于错误(无限循环)无法安装。 - tequilacat
25
现在是2022年了! - faza
2
@LachoTomov,走出瀑布周期,进入敏捷世界吧。修补漏洞和升级版本是必要的,否则你的比特币钱包可能会被黑客攻击。 - MDT
显示剩余2条评论

33
你需要将 Python 添加到 PATH 变量中。你可以编辑你的 Path 变量,然后添加 ;%PYTHON%;
你的 PYTHON 变量应该指向 Python 安装的根目录。

2
谢谢,我已经将PYTHON路径设置为C:\Program Files\Python_2.7.10;%PYTHON%;,但是不幸的是我仍然遇到了相同的错误。 - Nick
2
实际上,您想将Python路径设置为C:\Program Files\Python_2.7.10,然后编辑您的PATH变量并添加;%PYTHON;。我在本地查找了一下,并添加了C:\Python34;C:\Python34\Scripts;以使其正常工作。尽管如您所见,我没有使用Python 2。 - jvecsei
1
实际上,这篇帖子:https://dev59.com/qHA65IYBdhLWcg3wqQY8#21433154 很好地描述了我试图解释的内容,但是更详细 ;). 请注意:你的路径变量是 PY_HOME 还是 PYTHON 并不重要,重要的是它要与你插入到路径变量中的内容相匹配。 - jvecsei
非常感谢,我已经正确设置了PYTHON变量并将其添加到PATH中,但仍然遇到相同的错误...现在会查看您发布的链接 :) 干杯 - Nick
4
哦,我没意识到我必须关闭命令窗口才能使用新变量。非常感谢大家的回复和建议! - Nick
1
安装Python2.7.10并成功设置PATH和PYTHON环境变量解决了该问题。感谢@jvecsei。 - Jnana

25

只需以管理员权限运行以下命令

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


7
软件包 windows-build0tools 已不再推荐使用:https://www.npmjs.com/package/windows-build-tools - derekbaker783
使用npm v9.6.7和Node.js v18.17.1时,它显示给我"下载安装程序失败。错误:TypeError: 'process.env'只接受可配置的、可写的和可枚举的数据描述符"。 - undefined

12

最简单的方法是让NPM为您完成一切。

npm --add-python-to-path='true' --debug install --global windows-build-tools

不要认为这已经合并了,而且在这一端它没有起作用-https://github.com/nodejs/node-gyp/pull/1109 - Daniel Sokolowski

10

MAC:在我的情况下,我只需运行以下命令,就可以解决错误:

npm config set python python3

4
这个会引入更多的错误,比如“调用'print'时缺少括号。你是不是想打印?” - Simon Peter Ojok

8

我最近在使用node:16-alpine作为基础镜像的dockerfile中遇到了这个问题。为了解决这个问题,我添加了以下运行命令:

FROM node:alpine as build-stage
RUN apk add --no-cache python3 py3-pip make g++

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

8

我的问题出在使用 Node v16 上。

我回退到 Node v12(v14 也可能可以),问题得到了解决。


为什么这样修复了呢?它不使用Python吗? - Chris

5
以下解决方案之一适用于您:
  1. npm config set python c:\Python\27\python.exe 或者 set 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成功完成了。


手动安装node-sass确实对我有用。之前一直在为python的问题而苦恼。 - sangam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接