No se puede instalar Python sin sudo acceso
-
05-07-2019 - |
Pregunta
Extraí, configuré y usé make para el paquete de instalación en mi servidor.
Sin embargo, no pude usar make install . Me sale el error
[~/wepapps/python/Python-2.6.1]# make install
/usr/bin/install -c python /usr/local/bin/python2.6
/usr/bin/install: cannot create regular file `/usr/local/bin/python2.6': Permission denied
make: *** [altbininstall] Error 1
Ejecuto la carpeta con
chmod +x Python-2.6.1
Todavía me sale el mismo error.
¿Cómo puedo ejecutar make install sin sudo access?
Solución
¿Cómo puedo instalar en una ruta en mi directorio principal?
mkdir /home/masi/.local
cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install
Luego ejecute usando:
/home/masi/.local/bin/python
De manera similar, si tiene scripts (por ejemplo, CGI) que requieren su propia versión de usuario de Python, debe informarles explícitamente:
#!/home/masi/.local/bin/python
en lugar de usar el sistema por defecto de Python, que elegirá "#! / usr / bin / env python".
Puedes modificar la configuración de PATH para hacer que simplemente escriba "python" desde la consola y ejecute esa versión, pero esto no ayudará a que las aplicaciones web se ejecuten con un usuario diferente.
Si compilas algo que enlaza con Python (por ejemplo, mod_wsgi) tienes que decirle dónde encontrar tu Python o usará el sistema uno en su lugar. Esto se hace a menudo algo como:
./configure --prefix=/home/masi/.local --with-python=/home/masi/.local
Para otras extensiones basadas en setup.py como MySQLdb, simplemente tienes que ejecutar el script setup.py con la versión correcta de Python:
/home/masi/.local/bin/python setup.py install
Otros consejos
No puedes; no a / usr
, de todos modos. Solo los superusuarios pueden escribir en esos directorios. Intenta instalar Python en una ruta debajo de tu directorio de inicio.
Extendiendo la respuesta de Bobince, hay un problema si no tiene el paquete de desarrollo readline instalado en su sistema y no tiene acceso de root.
Cuando Python se compila sin línea de lectura, sus teclas de flecha no funcionarán en el intérprete. Sin embargo, puede instalar el paquete independiente readline de la siguiente manera: Agregar funcionalidad de Readline sin Recompilación Python
Por otro lado, si prefieres compilar python usando una instalación local de readline, aquí tienes cómo hacerlo.
Antes de hacer lo que Bobince estaba diciendo, compila e instala readline. Estos son los pasos para hacerlo:
- wget ftp://ftp.cwru.edu/pub/ bash / readline-6.2.tar.gz
- tar -zxvf readline-6.2.tar.gz
- cd readline-6.2
- ./configure --with-prefix = $ HOME / .local
- hacer
- hacer instalación
Luego, agregue esta línea a su script .bash_profile:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
Por último, pero no menos importante, ejecuta el siguiente comando
export LDFLAGS="-L$HOME/.local"
Espero que esto ayude a alguien!