mac gvedit for fdp python python-2.7 graphviz pydot

python - gvedit - graphviz>& lt



error de pydot y graphviz: no se pudo importar dot_parser, no serĂ¡ posible cargar archivos de puntos (14)

Ahora hay al menos 2 versiones más que parecen ser compatibles con PyParsing-2 y Python-3:

  • PyDotPlus por Carlos Jenkins con un buen buildbot de travis y documentation sofisticada. Sin embargo, deberá cambiar su nombre de carpeta de site-packages/pydotplus a site-packages/pydot para que funcione con los programas existentes que importan pydot.
  • pydot3k por bmcorser . Lamentablemente, no funcionó!
  • prologic/pydot por James Mills vinculado desde la página oficial de pydot Google code como ...

    una rama para la compatibilidad de Python 3

  • y aquí hay un enlace funcional al pydot2 de David Villa, que funciona bien: https://pypi.python.org/pypi/pydot2/1.0.32

Cuando ejecuto un código muy simple con pydot

import pydot graph = pydot.Dot(graph_type=''graph'') for i in range(3): edge = pydot.Edge("king", "lord%d" % i) graph.add_edge(edge) vassal_num = 0 for i in range(3): for j in range(2): edge = pydot.Edge("lord%d" % i, "vassal%d" % vassal_num) graph.add_edge(edge) vassal_num += 1 graph.write_png(''example1_graph.png'')

Me imprime el mensaje de error:

Couldn''t import dot_parser, loading of dot files will not be possible.

Estoy usando Python 2.7.3



Cuando otras soluciones no funcionan, este es un método rápido y sucio para resolver el problema:

Este ejemplo es de python 2.7 en Ubuntu 16.04.

Edite el archivo python2.7 / site-packages / keras / utils / visualize_util.py y comente el siguiente segmento de código.

if not pydot.find_graphviz(): raise ImportError(''Failed to import pydot. You must install pydot'' '' and graphviz for `pydotprint` to work.'')

find_graphviz () es redundante en las versiones más nuevas de pydot, y la llamada anterior no funciona.


En OSX Mavericks, lo siguiente funcionó ... Recibí el mismo error, pero en la parte inferior también había una queja de que el ejecutable graphviz no estaba presente ... ¿Creo que el problema era que había instalado graphviz antes de los otros módulos?

brew uninstall graphviz brew install graphviz


Es necesario degradar pyparsing de la versión 2.xa la versión 1.5.7 para que pydot funcione correctamente.

Para Win-64, usando Conda, esto funcionó para mí:

conda install -c https://conda.anaconda.org/Trentonoliphant pyparsing=1.5.7

Luego deshabilité / desinstalé la versión 2.x y recargué pyparsing en mi script:

pyparsing = reload(pyparsing) pydot = reload(pydot)

Para verificar si tienes la versión correcta en ejecución:

print pyparsing.__version__


Esto funcionó para mí (Mac OS X 10.9 con Python 2.7.10 en Anaconda):

conda uninstall pydot

Entonces,

conda install pydot

Pyrarsing se degrada luego (de 2.x a 1.5.7) en la instalación de pydot. Futuros Googlers: esto me permitió instalar e importar Theano correctamente.


Hay un nuevo paquete en el repositorio llamado pydot2 que funciona correctamente con pyparsing2. No pude degradar mis paquetes porque matplotlib depende del paquete de pyparsing más nuevo.

Nota: python2.7 desde macports


La solución no fue instalar pydot desde algún lugar, sino "python-pydot" desde los repositorios oficiales de ubuntu.


Lo que hice al final después de tantos intentos de lo que vi aquí (pseudo secuencia para que funcione para networkx):

apt-get remove python-pydot pip install pydotplus apt-get install libcgraph6 apt-get install python-pygraphviz # pip freeze | grep pydot pydotplus==2.0.2 # pip freeze | grep pyparsing pyparsing==2.2.0 # pip freeze | grep graphviz pygraphviz==1.2 # python -c ''import pydotplus'' #


Respuesta para pydot >= 1.1 :

La incompatibilidad de (en sentido ascendente) pydot ha sido fijada por 6dff94b3f1 , y por lo tanto, pydot >= 1.1 será compatible con pyparsing >= 1.5.7 .

Respuesta aplicable a pydot <= 1.0.28 :

Para cualquier otra persona que se encuentre con esto, es debido a los cambios en pyparsing de 1.x a la versión 2.x. Para instalar pydot usando pip, primero instale la versión anterior de pyparsing:

pip install pyparsing==1.5.7 pip install pydot==1.0.28

Si no instaló pyparsing usando pip , sino que usó setup.py , setup.py un vistazo a esta solution para desinstalar el paquete. Gracias @qtips.


También conocí el problema y mi pydot == 1.0.28 mientras pyparsing == 2.2.0. Solucioné el problema descargando el último pydot 1.2.3 (tar.gz) de google y luego lo instalé fuera de línea. Cuando actualicé el pydot en ubuntu 14.04, decía que el pydot 1.0.28 es la versión más nueva. Por lo tanto, descargo de google la versión 1.2.3.


Tuve el problema otra vez y mi solución anterior no funcionó. Si eso es cierto para usted y también está usando Anaconda en una Mac con El Capitán, intente esto:

conda install --channel https://conda.anaconda.org/RMG graphviz` conda install --channel https://conda.anaconda.org/RMG pydot


pydot usó una variable de módulo privada (_noncomma) de pyparsing. El siguiente diff lo corrige para usarlo para pyparsing 2.0.1:

diff --git a/dot_parser.py b/dot_parser.py index dedd61a..138d152 100644 --- a/dot_parser.py +++ b/dot_parser.py @@ -25,8 +25,9 @@ from pyparsing import __version__ as pyparsing_version from pyparsing import ( nestedExpr, Literal, CaselessLiteral, Word, Upcase, OneOrMore, ZeroOrMore, Forward, NotAny, delimitedList, oneOf, Group, Optional, Combine, alphas, nums, restOfLine, cStyleComment, nums, alphanums, printables, empty, quotedString, - ParseException, ParseResults, CharsNotIn, _noncomma, dblQuotedString, QuotedString, ParserElement ) + ParseException, ParseResults, CharsNotIn, dblQuotedString, QuotedString, ParserElement ) +_noncomma = "".join( [ c for c in printables if c != "," ] ) class P_AttrList: