如何在NPM安装期间使用不同版本的python?

时间:2013-12-08 13:54:46

标签: python node.js centos npm

我有终端访问VPS运行centos 5.9和默认的python 2.4.3安装。我还通过以下命令安装了python 2.7.3 :(我用make altinstall代替make install

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar -xf Python-2.7.3.tgz
cd Python-2.7.3
./configure
make
make altinstall

然后我通过以下命令从源安装了node.js:

python2.7 ./configure
make
make install

问题是,当我使用npm install并尝试安装需要python>的node.js包时2.4.3我收到此错误:

gyp ERR! configure error
gyp ERR! stack Error: Python executable "python" is v2.4.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:125:14)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:114:9

我应该如何“将--python开关传递给Python&gt; = v2.5.0”

6 个答案:

答案 0 :(得分:464)

您可以使用--python选项,如下所示:

npm install --python=python2.7

或将其设置为始终使用:

npm config set python python2.7

Npm会在需要时将此选项传递给node-gyp。

(请注意:我是那个在Github上打开一个问题的人,因为关于它的问题很多,因此包含在文档中;-))

答案 1 :(得分:52)

在运行npm install之前将python设置为python2.7

Linux的:

export PYTHON=python2.7

视窗:

set PYTHON=python2.7

答案 2 :(得分:33)

对于Windows用户,这样的事情应该有效:

PS C:\angular> npm install --python=C:\Python27\python.exe

答案 3 :(得分:7)

好的,所以你已经找到了解决方案。只是想多次分享对我有用的东西;

我创建了setpy2别名,这有助于我切换python。

alias setpy2="mkdir -p /tmp/bin; ln -s `which python2.7` /tmp/bin/python; export PATH=/tmp/bin:$PATH"

在运行setpy2之前执行npm install。在您退出终端之前,交换机一直有效,之后python被设置回系统默认值。

您也可以将此技术用于任何其他命令/工具。

答案 4 :(得分:1)

快速一次使用此作品, npm install --python =“c:\ python27”

答案 5 :(得分:0)

如果您的路径上没有python 或想要指定目录

//for Windows
npm config set python C:\Python27\python.exe

//for Linux
npm config set python /usr/bin/python27
相关问题