Hacer las cosas bien

22 11 2006

Cuando empiezas algo, es importante elegir las herramientas adecuadas.

Esa es la razón por la que estuve probando y al final compré Textmate, el editor de Macromates. Textmate es uno de esos programas que cuestan menos de lo que realmente valen. Yo lo recomiendo encarecidamente a cualquiera que esté involucrado en tareas de desarrollo sobre Mac OS X. Hay una descarga disponible de 30 días de prueba con toda la funcionalidad disponible, así que se puede probar sin pagarlo de antemano.

Echad un ojo también a los videos disponibles en la web de Macromates.





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í.