[英]WLS2 UBUNTU: npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. and more
[英]npm - "Can't find Python executable "python", you can set the PYTHON env variable."
我正在尝试运行以下命令: 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,所以我认为我对 go 会很好,但是我收到以下错误:
关于"Can't find Python executable "python", you can set the PYTHON env variable."
错误,我有点困惑,因为我已经像这样设置了 PYTHON 环境变量:
有什么想法吗?
尝试:
通过从提升的PowerShell (以管理员身份运行)运行npm install -g windows-build-tools
,使用 Microsoft 的 windows-build-tools 安装所有必需的工具和配置。
https://github.com/nodejs/node-gyp#on-windows
尝试
npm config set python D:\Library\Python\Python27\python.exe
您必须将 python 添加到您的 PATH 变量中。 您可以做的一件事是现在编辑您的路径变量并添加
;%PYTHON%;
你的变量 PYTHON 应该指向你的 python 安装的根目录。
我安装了python2.7来解决这个问题。
只需以管理员权限运行以下命令
npm install --global --production windows-build-tools
最简单的方法就是让 NPM 为你做所有事情,
npm --add-python-to-path='true' --debug install --global windows-build-tools
我最近在使用node:16-alpine
作为基础映像的 dockerfile 中遇到了这个问题。 我添加了以下运行命令来解决此问题:
FROM node:alpine as build-stage
RUN apk add --no-cache python3 py3-pip make g++
在这里,两个标签node:alpine
和node:16-alpine
是相同的。
以下解决方案之一将适合您:
c:\Python\27\python.exe
或set PYTHON=D:\Python\bin\Python.exe
npm config set python D:\Library\Python\Python27\python.exe
npm --add-python-to-path='true' --debug install --global windows-build-tools
(必须通过“以管理员身份运行”PowerShell 执行) 如果没有... 尝试自己安装所需的包(我是这样做的,而且是node-sass
,手动安装后,整个npm install
成功完成
我的问题是 Node v16 的使用。
我回到 Node v12(v14 可能也很好)并且它工作正常。
您正在以管理员身份运行命令提示符。 您只为您的用户定义了 PYTHON。 您需要在底部的“系统变量”部分中定义它。
此外,您应该只将变量指向文件夹,而不是直接指向可执行文件。
运行:npm --vs2015 install --global windows-build-tools
使用 package.json 中提到的节点版本。
使用 nvm(节点版本管理器),您可以在 package.json 中提及的各个节点版本之间切换
安装 python 2.7 是我唯一的解决方法。 本文有助于在 Windows 上安装 python 3 和 2.7 https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add- python-path-281e7eae62a
npm config set python D:\Library\Python\Python27\python.exe
汤姆高的回答对我有用
确保在 npmrc 文件中进行更改,因为它不会自动将 \ 作为路径并在 env var 中添加 Python,也如答案中所述。
在 Apple Silicon 上的node:18
alpine docker 图像上出现此问题,其中只有python3
可用,但至少某些版本的node-gyp
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:\Softwares\Python\2.7\Scripts 而不是 D:\Softwares\Python\2.7 添加到 PATH 是有效的。
MAC:就我而言,我只是运行以下命令并解决了错误:
npm config set python python3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.