Las variables del sistema

11 11 2006

Esta semana he estado actualizando unas cositas en mi Mac, como por ejemplo, el intérprete de Python. Lo he actualizado a la versión 2.5. Todo correcto hasta que me decidí a probar Django, un marco de desarrollo para aplicaciones web en Python. Se instala correctamente, no protesta, pero ¡ay, amigo! Cuando intento ejecutar el script principal de gestión, llamado django-admin.py, no lo encuentra por ningún lado. Se supone que Django se instala donde están las librerías estándar de Python, pero no lo encuentra.

La solución: El proceso de actualización de Python había incluido en la variable de entorno $PATH los directorios adecuados… pero en el fichero .profile del directorio $HOME. El programa Terminal de Mac OS X lo tengo puesto para ejecute /bin/bash y claro, así no hay manera de que lea el entorno descrito en ~/.profile.

Para aquellos con dudas de este tipo, os comento cómo funciona el orden a la hora de buscar en estos ficheros, según lo que he leído por ahí:

Si haces una shell por login:

  1. Busca el fichero /etc/profile
  2. Busca el fichero ~/.bash_profile
  3. Si no existe, busca el fichero ~/.bash_login
  4. Si no existe, busca el fichero~/.profile

Esto significa que si para que encuentre ~/.profile, no tiene que existir ni ~/.bash_profile, ni ~/.bash_login. Ahí queda eso.

Por supuesto, no he nombrado hasta ahora el fichero ~/.bashrc. El sistema lo busca siempre que abres una shell con bash (los anteriores sólo cuando haces login), así que he cambiado la información sustancial ahí.