当前位置: 首页 > 知识库问答 >
问题:

“找不到Python可执行文件…”npm安装挂起

狄法
2023-03-14

我使用“npm安装”下载并编译一个小节点的所有依赖项。我写的js应用程序。我使用的“package.json”文件是正确的,包含了所有需要的信息。

其中一个要安装的包有“node-gyp”作为依赖项,所以我之前已经安装了“python2”包。

现在,在某一点上,我开始收到错误消息:

> node-gyp rebuild

gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:25)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4

问题似乎是缺少一个环境变量。

谁能给我指出正确的方向?无论我在网上哪里搜索,都没有提到一个“PYTHON”变量,只有“PYTHONPATH”和其他人喜欢它。什么是正确的方法来解决这个问题,这样我就不会得到那些错误?

更新1:

在遵循这个线程的建议后,我在执行“npm安装”之前添加了这些命令:

PYTHON=/usr/sbin/python2
export PYTHON

现在我得到了这个错误:

> node-gyp rebuild

gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:28)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4

我觉得它说“未找到:制造”是荒谬的。有可能吗?如果是,软件包如何正确安装?

坦白说,我一点也不懂。有什么想法吗?

共有3个答案

欧博简
2023-03-14

这对我很有用。。

node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build

我们需要指向python.exe而不仅仅是安装文件夹。

微生青青
2023-03-14

首先,我要感谢所有帮助我解决问题的人,尤其是@adarsh。

现在真正的问题是我缺少了“make”和“gcc”。起初,当一条编译器消息建议这样做时,我觉得很荒谬。但请记住,这是从Docker注册表中提取的图像。

我在Dockerfile中添加了“pacman-S--needed--noconfirm make gcc”,构建过程成功完成。

不用说,我还需要对环境变量进行建议的更改。

井兴怀
2023-03-14

试着运行这个

PYTHON=$PYTHON:/usr/bin/python
export PYTHON

将其添加到配置文件(如~/.bash\u profile等,具体取决于您的shell)以使其持久化。

如果您的python没有安装在/usr/bin/python中,那么您可以运行哪个python来查找它的安装位置。

 类似资料:
  • npm错误!此运行的完整日志可以在:npm err!C:\users\themhz\appdata\roaming\npm-cache_logs\2017-11-25t15_20_09_146z-debug.log 我的机器运行的是windows 10 npm-v 5.5.1 node-v v8.9.1 Python3

  • 问题内容: 我在安装psycopg2时遇到问题。我尝试执行以下操作时收到以下错误pip install psycopg2: 但是问题出在我身上PATH; 它运行没有任何问题: 我尝试将径添加到文件中,并使用从其网站(http://initd.org/psycopg/)下载的源文件进行构建,然后收到以下错误消息! 但实际上是那里!!! 这些错误使我感到困惑。有人可以帮忙吗? 顺便说一下,我sudo所

  • TL;DR:为什么npm不构建依赖项的二进制可执行文件,我如何构建它们而不显式? 我的项目在一个常规的package.json中描述了它的依赖关系。当我运行时,所有包都按预期安装到node_modules中。然而,有三个包有供应商子目录,这些子目录中应该有二进制可执行文件,但它们没有按照预期进行编译。 $ls/usr/src/app/node_modules/optipng-bin/vendor/

  • 问题内容: 我在Windows 7上运行Python3.4。我试图将Python接口用于graphviz。这是我打算运行的脚本: 我在运行时收到以下错误: 现在,我确定我已经正确安装了正确的依赖项。我首先尝试设置正确的环境变量。graphviz可执行文件位于 C:\ Program Files(x86)\ Graphviz2.37 \ bin, 因此我转到了“环境变量”部分。有两个部分:用户变量和

  • 我在Windows7上运行Python3.4。我正在尝试使用GraphViz的Python接口。这是我打算运行的脚本: 然后,按照这里给出的答案,我卸载了pydot(实际上我在这里使用pydotplus),并重新安装了它,但仍然没有成功。 我已经尝试了几个小时来解决这个问题,整个路径变量的事情只是令人困惑和沮丧。

  • 我有独立的应用程序,它绑定在可执行的中。在可执行的清单文件中,有一个class-path条目,其中列出了所有依赖的(包括所有的日志实现jar)。这个可执行jar还包含文件。 使用这种结构,当我使用简单的命令运行应用程序时,应用程序在正确的日志记录下运行良好。但这里的主要问题是,要更改日志级别,需要打开jar文件,而我不能要求客户端这样做。所以我将放在了jar外部,但现在所有日志记录都发生在控制台上