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
asite-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
Bifurqué el repositorio pydot [1], apliqué el parche Gabi Davar y algunos cambios para admitir python-3. El paquete está disponible en PyPI [2].
Aclamaciones
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:
$ sudo pip uninstall pydot
$ sudo pip install pydot2
Vea el siguiente enlace: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/