martes, 9 de octubre de 2012

Django + GraphViz + Mountain Lion

GraphViz es una herramienta muy útil para generar automáticamente diagramas UML de las clases que se tienen en un proyecto, tuve algunos detalles para instalarlos en Mountain Lion, y al final los pasos se resumen en lo siguiente:

  • Instalar GraphViz la herramienta que nos permitirá ver los diagramas, el cuál se puede descargar desde aquí: http://www.graphviz.org/Download_macos.php
    • En mi caso descargue la versión: graphviz-2.29.20121009.0445.pkg, que esta en el área de desarrollo.
  • Posteriormente es necesario instalar PyGraphViz que es la herramienta que enlaza a Python con GraphViz aquí fue donde tuve algunos detalles, por lo que tuve que descargarlo utilizando el siguiente comando:
    • $sudo svn co https://networkx.lanl.gov/svn/pygraphviz/trunk pygraphviz
  • Con lo anterior se creará un directorio en el equipo es importante que modifiques los permisos al directorio como lectura y escritura.
  • Posteriormente modificar el archivo setup.py, esto es las líneas:
# OSX, Linux, alternate location
library_path='/usr/local/lib/graphviz'
include_path='/usr/local/include/graphviz' 
NOTA: Se debe quitar el # para descomentar, una vez realizado esto guardar el archivo.
    • Posteriormente ejecutar el siguiente comando:
      • $ python setup.py build
    • Y Finalmente utilizar:
      • $ python setup.py install
    Con lo anterior deberá quedar instalado la herramienta, para generar el diagrama dentro del directorio de proyecto se puede utilizar:

    $ python manage.py graph_models --all-applications -g --output=miproyecto_uml.dot

    Una vez ejecutado el comando se generará el archivo miproyecto_uml.dot que se puede abrir con el programa GraphViz que quedo instalado en el segundo paso.

    Con la siguiente instrucción solo realizará el diagrama de la aplicación miaplicacion:

    $ python manage.py graph_models miaplicacion -g -o miaplicacion_uml.dot

    Utilizando $ python manage.py graph_models --help se puede ver un listado de comandos que se pueden utilizar.


    Saludos y espero te sea de utilidad.


    No hay comentarios:

    Publicar un comentario