“找不到Python可执行文件......” - npm install挂起

时间:2015-03-31 12:02:59

标签: python node.js python-2.7 environment-variables

我正在使用" npm install"下载并编译我编写的一个小node.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 install"之前添加了这些命令:

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

我觉得很荒谬,它说" ...没找到:make ..."。它有可能是这样吗?如果是,那么如何正确安装包?

坦率地说,我不明白。有什么想法吗?

4 个答案:

答案 0 :(得分:4)

尝试运行此

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

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

如果你的python没有安装在/usr/bin/python中,那么你可以运行which python来找出它的安装位置。

答案 1 :(得分:3)

首先要做的事情:我要感谢所有帮助我解决问题的人,特别是@adarsh。

现在真正的问题是我错过了“make”和“gcc”。首先,当编译器消息建议时,我发现它很荒谬。但请记住,这是从Docker注册表中提取的图像。

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

不言而喻,我还需要对环境变量做出建议的修改。

答案 2 :(得分:1)

这对我有用..

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

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

答案 3 :(得分:-3)

CMD

如果在驱动器上是本地的: npm install express-generator

#npm install express-generator -g
#express --ejs .

选择是

#y