繁体   English   中英

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

[英]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/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#environment-setup-and-configuration

您必须将 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:alpinenode:16-alpine是相同的。

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

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

我的问题是 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM