it-swarm.com.de

Wie verwende ich eine andere Python-Version während der NPM-Installation?

Ich habe Terminalzugriff auf einen VPS, auf dem centos 5.9 und der Standard-Python 2.4.3 installiert sind. Ich habe auch Python 2.7.3 über diese Befehle installiert: (Ich habe make altinstall anstelle von make install verwendet)

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

dann habe ich node.js von source über diese Befehle installiert:

python2.7 ./configure
make
make install

Das Problem ist, wenn ich npm install verwende und versuche, ein node.js-Paket zu installieren, für das Python> 2.4.3 erforderlich ist, bekomme ich diesen Fehler:

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

wie soll ich "- den Python-Schalter übergeben, um auf Python> = v2.5.0" zu zeigen?

193

Sie können die Option --python für npm wie folgt verwenden:

npm install --python=python2.7

oder setze es so, dass es immer benutzt wird:

npm config set python python2.7

Npm leitet diese Option bei Bedarf wiederum an node-gyp weiter.

(Anmerkung: Ich bin derjenige, der eine Ausgabe auf Github geöffnet hat, um dies in die Dokumentation aufzunehmen, da es so viele Fragen dazu gab ;-))

448
ack

setzen Sie Python auf Python2.7, bevor Sie npm install ausführen

Linux:

export PYTHON=python2.7

Windows:

set PYTHON=python2.7
51

Für Windows-Benutzer sollte so etwas funktionieren:

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

Ok, du hast also schon eine Lösung gefunden. Ich wollte nur teilen, was mir so oft nützlich war;

Ich habe setpy2-Alias ​​erstellt, der mir hilft, Python zu wechseln.

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

Führen Sie setpy2 aus, bevor Sie npm install ausführen. Der Schalter bleibt in Kraft, bis Sie das Terminal verlassen. Danach wird python auf die Systemeinstellungen zurückgesetzt.

Sie können diese Technik auch für andere Befehle/Tools verwenden.

7
vmx

für eine schnelle Verwendung funktioniert das npm install --python = "c:\python27"

0
MPV