Quando executo um código muito simples com o 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')
Ele me imprime a mensagem de erro:
Couldn't import dot_parser, loading of dot files will not be possible.
Estou usando o python 2.7.3
python
python-2.7
graphviz
pydot
Sadik
fonte
fonte
pip install pydot2
deve corrigir esse problema. Muito melhor do que usar,pip uninstall
porque se você compartilhar código, você pode apenas adicionar pydot2 ao seu requirements.txt e não permitir que os usuários executem comandos desconhecidos.Respostas:
Resposta para
pydot >= 1.1
:A incompatibilidade de (upstream)
pydot
foi corrigida por 6dff94b3f1 e, portantopydot >= 1.1
, será compatível compyparsing >= 1.5.7
.Resposta aplicável a
pydot <= 1.0.28
:Para qualquer outra pessoa que se deparar com isso, é devido às mudanças em pyparsing 1.x para a versão 2.x. Para instalar o pydot usando pip, primeiro instale a versão mais antiga do pyparsing:
Se você não instalou
pyparsing
usandopip
, mas em vez disso usousetup.py
, dê uma olhada nesta solução para desinstalar o pacote. Obrigado @qtips.fonte
sudo pip uninstall
não funciona se você instalou seu pacote usandopython setup.py install
, nesse caso, siga esta solução. Este foi pelo menos o caso no meu Mountain Lion OSX Macsudo
obviamente, nem sempre é necessário, como se você estiver usando um virtualenv. Fora isso, funcionou para mim!pip install pyparsing==1.5.7
?Há um novo pacote no repositório pip chamado pydot2 que funciona corretamente com pyparsing2. Não consegui fazer o downgrade de meus pacotes porque o matplotlib depende do pacote de análise mais recente.
Nota: python2.7 de macports
fonte
pydotprint
funcionar.pydot usou uma variável de módulo privada (_noncomma) de pyparsing. O diff a seguir corrige-o para usar na análise de dados 2.0.1:
fonte
Eu fiz um fork do repositório pydot [1], apliquei o patch Gabi Davar e algumas mudanças para suportar o python-3. O pacote está disponível no PyPI [2].
Felicidades
fonte
pip install...
falhou no meio sem erro explícito. Parece que o manifesto e os arquivos reais não correspondem. Eu verifico o repositório git emv README.rst README
entãopython setup.py install
. Isso funcionou para mim :-)pip install pydot2
funciona e este link, pypi.python.org/pypi/pydot2/1.0.32 , funciona.$ sudo pip uninstall pydot
$ sudo pip install pydot2
Consulte o seguinte link: http://infidea.net/trouwagen-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
fonte
pip uninstall pydot2
e depoispip install pydot
para corrigir o erro. Aqui está o link para a resposta correta: github.com/pydot/pydot/issues/166#issuecomment-356066120A solução não foi instalar o pydot de algum lugar, mas "python-pydot" dos repositórios ubuntu oficiais.
fonte
pip install python-pydot
não funciona para mim (distribuição não encontrada);pip install pydot
faz. Portanto, não acho quepydot
seja necessariamente não oficial. Talvez você esteja instalando através de uma distribuição de sistema operacional em vez disso?sudo apt-get install python-pydot
fez por mim.python-pyparsing
1.5.2, o que evita a incompatibilidade de versão listada acima. Fiz a correção acima e não tive problemas desde então. Obrigado!Existem agora pelo menos mais 2 versões que parecem ser compatíveis com PyParsing-2 e Python-3:
site-packages\pydotplus
parasite-packages\pydot
para que funcione com os programas existentes que importam o pydot.fonte
Tive o problema novamente e minha solução acima não funcionou. Se isso for verdade para você e você também estiver usando o Anaconda em um Mac com El Capitan, tente o seguinte:
fonte
O que fiz no final depois de tantas tentativas do que vi aqui (pseudo sequência para funcionar para o networkx):
fonte
Isso funcionou para mim (Mac OS X 10.9 com Python 2.7.10 no Anaconda):
Então,
O pyparsing é então rebaixado (de 2.x para 1.5.7) na instalação do pydot. Googlers do futuro: isso me permitiu instalar e importar o Theano corretamente.
fonte
No OSX Mavericks, o seguinte fez o truque ... Recebi o mesmo erro, mas na parte inferior também havia uma reclamação de que o executável do graphviz não estava presente ... Acho que o problema é que eu tinha instalado o Graphviz antes dos outros módulos?
fonte
Quando outras soluções não funcionam, este é um método rápido e sujo para resolver o problema:
Este exemplo é do python 2.7 no Ubuntu 16.04.
Edite o arquivo python2.7 / site-packages / keras / utils / visualize_util.py e comente o segmento de código abaixo.
find_graphviz () é redundante em versões mais novas do pydot, e a chamada acima não funciona.
fonte
Eu também encontrei o problema e meu pydot == 1.0.28 enquanto pyparsing == 2.2.0. Corrigi o problema baixando o pydot 1.2.3 (tar.gz) mais recente do google e instalando-o offline. Quando eu atualizei o pydot no ubuntu 14.04, ele disse que o pydot 1.0.28 é a versão mais recente. Portanto, eu baixei do google a versão 1.2.3.
fonte
Você precisa fazer o downgrade do pyparsing da versão 2.x para a versão 1.5.7 para que o pydot funcione corretamente.
Para win-64, usando Conda, funcionou para mim:
Em seguida, desativei / desinstalei a versão 2.x e recarreguei o pyparsing no meu script:
Para verificar se você tem a versão correta em execução:
fonte