¿Cómo puedo instalar python-dev sin sudo?

¿Cómo puedo instalar python-dev sin sudo?

Estoy intentando instalar el paquete Python (scikits.learn) en mi directorio de usuario (en un servidor Ubuntu para el cual no tengo permiso Sudo) pero obtengo

error: Python.h: No such file or directory

Puede ser porque no tengo instalado python-dev. ¿Pero cómo puedo instalar python-dev sin sudo? ¿O hay alguna otra salida fácil para Python.h?

Respuesta1

Puede compilar su propio Python a partir de las fuentes y luego instalar los módulos que desee. http://docs.python.org/devguide/

Respuesta2

Sé que esto es un poco de nigromancia (revivir publicaciones antiguas) pero me enfrenté al mismo problema y no pude encontrar una respuesta, así que les comparto la que encontré...

Mi solución:

Estoy trabajando en un escritorio Ubuntu 16.04, sin sudo y solo con Python 2.7 instalado. Logré configurar un virtualevn sin sudo (siguiendohttps://stackoverflow.com/questions/9348869/how-to-install-virtualenv- without-using-sudo) y al intentar instalar jupyter me encontré con el "error: Python.h: No existe tal archivo o directorio".

Mi solución, nada limpia pero al menos limitada acarpeta virtualenv y virtual pythones:

  1. crear un directorio de prueba (package_download)
  2. no-sudo@pc:~/package_download$ apt-get descargar libpython2.7-dev
  3. no-sudo@pc:~/package_download$ apt-get descargar python-dev
  4. no-sudo@pc:~/package_download$ dpkg -x libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb.
  5. no-sudo@pc:~/package_download$ dpkg -x python-dev_2.7.11-1_amd64.deb.

Esto descargará la biblioteca y la extraerá en su carpeta package_download. Ahora viene la parte sucia, ya que pip no me permitió apuntar a esta ubicación, agregué estos archivos a donde pertenecen, dentro de la carpeta virtualenv...

  1. Fusiona "~/package_download/usr/bin" con el directorio bin dentro de tupitón virtualcarpeta de instalación (la que usó para instalar virtualenv y crear su entorno) pero no reemplace ningún archivo.
  2. Fusiona "~/package_download/usr/lib" con el directorio lib dentro de tupitón virtualcarpeta. Aquí no hay conflictos.
  3. Copie el contenido de "~/package_download/usr/include/python2.7" a su carpeta include/python2.7/, no hay conflictos aquí. Esta es en realidad la parte más sucia, ya que estamos modificando la carpeta de instalación delpitón virtual(esto no necesita sudo, ya que no es un sudopitón virtual).
  4. Copie la carpeta "~/package_download/usr/include/x86_64-linux-gnu" a su carpeta include/python2.7/. Copiar carpetas no hay problema aquí...

ahora ejecuta tu entorno virtual:

  1. no-sudo@pc:~/running_virtualenv$ fuente bin/activar
  2. (running_virtualenv)no-sudo@pc:~/running_virtualenv$ pip instalar jupyter
  3. disfrutar...

Si descubres que tuincluir/python2.7/es un enlace simbólico, entonces ha confundido la carpeta virtualenv con la carpeta virtual de Python. (Gracias @andrzej1_1 por encontrar este problema)

información relacionada