J'ai un accès terminal à un VPS exécutant centos 5.9 et python 2.4.3 par défaut installé. J'ai également installé python 2.7.3 via ces commandes: (j'ai utilisé à la make altinstall
place de 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
puis j'ai installé node.js depuis la source via ces commandes:
python2.7 ./configure
make
make install
Le problème est que lorsque j'utilise npm install
et essaie d'installer un package node.js qui nécessite python> 2.4.3, j'obtiens cette erreur:
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
comment dois-je "passer le commutateur --python pour pointer vers Python> = v2.5.0" ?
Réponses:
Vous pouvez utiliser l'
--python
option pour npm comme ceci:ou réglez-le pour qu'il soit toujours utilisé:
Npm transmettra à son tour cette option à node-gyp si nécessaire.
(note: je suis celui qui a ouvert un problème sur Github pour l'inclure dans les documents, car il y avait tellement de questions à ce sujet ;-))
la source
npm config set python python2.7
est la solution définitivenpm install --python=python2
?python2
est sur votre $ PATH, utilisez-le, par tous les moyens :-)pyenv
avec Python 3, j'ai utilisénpm install --python=/usr/bin/python
définissez python sur python2.7 avant d'exécuter l'installation de npm
Linux:
Les fenêtres:
la source
export
est utilisé pour définir une variable d'environnement, et la variable fonctionne sur votre shell et son processus enfant.set PYTHON=python2.7
sur WindowsPour les utilisateurs de Windows, quelque chose comme ça devrait fonctionner:
la source
npm config set python C:\Python27\python.exe
- Je viens de le faire et cela a bien fonctionné, ce qui signifie que vous ne devez pas le faire à chaque fois que vous souhaitez installer quelque chose.Ok, vous avez donc déjà trouvé une solution. Je voulais juste partager ce qui m'a été utile tant de fois;
J'ai créé un
setpy2
alias qui m'aide à changer de python.Exécutez
setpy2
avant d'exécuternpm install
. Le commutateur reste en vigueur jusqu'à ce que vous quittiez le terminal, puispython
revient à la valeur par défaut du système.Vous pouvez également utiliser cette technique pour toute autre commande / outil.
la source
pour une utilisation rapide, cela fonctionne, npm install --python = "c: \ python27"
la source
Celui-ci fonctionne mieux si vous n'avez pas le python sur le chemin ou si vous souhaitez spécifier le répertoire :
la source