Ich habe Terminalzugriff auf ein VPS mit Centos 5.9 und standardmäßig installiertem Python 2.4.3. Ich habe Python 2.7.3 auch über die folgenden Befehle installiert: (Ich habe make altinstall
anstelle von verwendet 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
dann habe ich node.js von der Quelle über diese Befehle installiert:
python2.7 ./configure
make
make install
Das Problem ist, wenn ich npm install
ein node.js-Paket verwende und versuche, das Python> 2.4.3 benötigt, wird folgende Fehlermeldung angezeigt:
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 Schalter --python übergeben, um auf Python> = v2.5.0 zu zeigen" ?
Antworten:
Sie können die
--python
Option verwenden, um npm wie folgt zu erstellen:oder stellen Sie es so ein, dass es immer verwendet wird:
Npm übergibt diese Option bei Bedarf an Node-Gyp.
(Hinweis: Ich bin derjenige, der eine Ausgabe auf Github eröffnet hat, um dies in die Dokumentation aufzunehmen, da es so viele Fragen dazu gab ;-))
quelle
npm config set python python2.7
ist die endgültige Lösungnpm install --python=python2
?python2
es auf Ihrem $ PATH ist, verwenden Sie das auf jeden Fall :-)pyenv
mit Python 3 habe ichnpm install --python=/usr/bin/python
Setzen Sie Python auf python2.7, bevor Sie die npm-Installation ausführen
Linux:
Windows:
quelle
export
wird verwendet, um eine Umgebungsvariableset PYTHON=python2.7
unter WindowsFür Windows-Benutzer sollte so etwas funktionieren:
quelle
npm config set python C:\Python27\python.exe
- Ich habe dies gerade getan und es hat gut funktioniert, was bedeutet, dass Sie es nicht jedes Mal tun müssen, wenn Sie etwas installieren möchten.Ok, Sie haben also bereits eine Lösung gefunden. Ich wollte nur mitteilen, was mir so oft nützlich war.
Ich habe einen
setpy2
Alias erstellt, mit dem ich Python wechseln kann.setpy2
Vor dem Ausführen ausführennpm install
. Der Schalter bleibt wirksam, bis Sie das Terminal verlassen, und wird anschließendpython
auf den Systemstandard zurückgesetzt.Sie können diese Technik auch für jeden anderen Befehl / jedes andere Werkzeug verwenden.
quelle
Für eine schnelle einmalige Verwendung funktioniert dies. Npm install --python = "c: \ python27"
quelle
Dieser funktioniert besser, wenn Sie die Python nicht im Pfad haben oder das Verzeichnis angeben möchten :
quelle