Npm-“找不到 PYTHON 可执行文件“ PYTHON”,可以设置 PYTHON env 变量。”

我尝试运行以下命令: 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

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

enter image description here

有什么想法吗?

423792 次浏览

您以管理员身份运行命令提示符。您只为您的用户定义了 PYTHON。您需要在底部的“系统变量”部分中定义它。

此外,您应该只将变量指向文件夹,而不是直接指向可执行文件。

您需要将 python 添加到 PATH 变量中。您现在可以做的一件事情是编辑您的 Path 变量并添加

;%PYTHON%;

Your variable PYTHON should point to the root directory of your python installation.

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

试试:

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

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

最简单的方法是让 NPM 为你做所有的事情,

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

以下解决方案之一将为您工作:

  1. npm config set python c:\Python\27\python.exe or 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成功完成

只需运行以下命令与管理员访问

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

我最近在使用 node:16-alpine作为基本映像的 dockerfile 中遇到了这个问题。我添加了以下 run 命令来修复这个问题:

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

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

我的问题是 Node v16的使用。

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

运行: npm —— vs2015 install —— global windows-build-tools

npm config set python D:\Library\Python\Python27\python.exe

从汤姆 · 高的回答中我得出了这种结论

确保在 npmrc 文件中进行更改,因为它不会自动采用路径 并在 env var 中添加 Python,正如答案中提到的那样。

使用 package.json 中提到的节点版本。

使用 nvm (节点版本管理器) ,您可以在 package.json 中提到的各个节点版本之间切换

有这个问题的 node:18高山码头图像在苹果硅那里只有 python3是可用的,但至少有一些版本的 node-gyp 还不支持 pyhton3。所以我不得不使用高山版本,仍然有 python2:

FROM node:18.8.0-alpine3.15


WORKDIR /app


RUN apk --no-cache add python2 make g++


COPY package.json .
COPY yarn.lock .
RUN yarn


COPY . .
delete node_modules
delete packagelock.json and yarn.lock(if have)
npm cache clean --force
npm install

正如 jvecsei 所说

对于我来说,将 D: SoftwaresPython 2.7脚本代替 D: SoftwaresPython 2.7添加到 PATH 是可行的。