Tengo acceso de terminal a un VPS con Centos 5.9 y Python 2.4.3 predeterminado instalado. También instalé Python 2.7.3 a través de estos comandos: (utilicé en make altinstall
lugar 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
Luego instalé node.js desde la fuente a través de estos comandos:
python2.7 ./configure
make
make install
El problema es que cuando uso npm install
e intento instalar un paquete node.js que requiere python> 2.4.3, aparece este error:
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
¿Cómo debo "pasar el interruptor --python para que apunte a Python> = v2.5.0" ?
Respuestas:
Puede usar la
--python
opción npm de esta manera:o configurarlo para que se use siempre:
Npm a su vez pasará esta opción a node-gyp cuando sea necesario.
(nota: soy el que abrió un problema en Github para incluir esto en los documentos, ya que había muchas preguntas al respecto ;-))
fuente
npm config set python python2.7
es la solución definitivanpm install --python=python2
?python2
está en su $ PATH, úselo, por supuesto :-)pyenv
Python 3, he usadonpm install --python=/usr/bin/python
establezca python en python2.7 antes de ejecutar npm install
Linux:
Ventanas:
fuente
export
se usa para establecer una variable de entorno, y la variable funciona en su shell y su proceso hijo.set PYTHON=python2.7
en WindowsPara los usuarios de Windows, algo como esto debería funcionar:
fuente
npm config set python C:\Python27\python.exe
- Acabo de hacer esto y funcionó bien, lo que significa que no tiene que hacerlo cada vez que desea instalar algo.Ok, ya has encontrado una solución. Solo quería compartir lo que me ha sido útil tantas veces;
He creado un
setpy2
alias que me ayuda a cambiar python.Ejecuta
setpy2
antes de corrernpm install
. El interruptor permanece vigente hasta que salga del terminal, luegopython
se restablece a los valores predeterminados del sistema.Puede utilizar esta técnica para cualquier otro comando / herramienta también.
fuente
para un uso rápido de una vez esto funciona, npm install --python = "c: \ python27"
fuente
Este funciona mejor si no tiene el python en la ruta o si desea especificar el directorio :
fuente