Como instalar pydot e graphviz?

21

Estou executando um código que precisa de pydot e graphviz. Estou usando o python 3.5 e o Ubuntu 16.04 LTS de 64 bits.

  File "/usr/local/lib/python3.5/dist-packages/keras/utils/vis_utils.py", line 17, in _check_pydot
    raise ImportError('Failed to import pydot. You must install pydot'
ImportError: Failed to import pydot. You must install pydot and graphviz for 'pydotprint' to work.

Eu pesquisei um pouco e descobri que posso instalar o pydot com o código pip install pydot . Mas eu conheço esse erro. Estou noob no Ubuntu e não entendo o que fazer. então como eu instalo o pydot?

deeplearning@deep-learning-virtual-machine:~$ pip install pydot
Collecting pydot
Collecting pyparsing>=2.1.4 (from pydot)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: pyparsing, pydot
  Found existing installation: pyparsing 2.0.3
    Uninstalling pyparsing-2.0.3:
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 538, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc' -> '/tmp/pip-45miiuxw-uninstall/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.5/dist-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python3.5/dist-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python3.5/shutil.py", line 553, in move
    os.unlink(src)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'
    
por Kong 20.05.2017 / 08:53

4 respostas

31

python-pydot e graphviz estão nos repositórios padrão do Ubuntu em todas as versões atualmente suportadas do Ubuntu. Em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:

sudo apt install python-pydot python-pydot-ng graphviz # python-pydot-ng isn't in the 14.04 repos

Este fluxograma foi criado com o graphviz no Ubuntu. Como o graphviz usa a linguagem de programação de pontos integrada incluída no pacote graphviz, o código-fonte do fluxograma vinculado é editável em qualquer editor de texto, mesmo que o python-pydot não esteja instalado.

Eu não sei porque você gostaria de instalar o pydot com o pip quando você pode obtê-lo dos repositórios do Ubuntu, mas para responder sua pergunta eu tentei instalar o pydot de qualquer maneira em um ambiente virtual Python com pip3 install pydot e funcionou, Portanto, é possível que você precise atualizar o pip para a versão mais recente com sudo -H pip3 install --upgrade pip . Eu usei pip3 em vez de pip porque você escreveu em sua pergunta que está usando o Python 3.5.

    
por karel 20.05.2017 / 09:03
5

De esta resposta em "Instalando pacotes pydot e graphviz no ambiente do Anaconda"

I had the same issue and solved it by (order is important):

  1. Installing graphviz, simply via sudo apt-get install graphviz
  2. Installing graphviz for Python via conda sudo ~/anaconda2/bin/conda install graphviz
  3. Finally, by installing pydot using conda sudo ~/anaconda2/bin/conda install pydot

This answer is overdue but this post helped me (together with this one that mentions the installation order), so hopefully this answer will help someone else. I'm using Ubuntu 14.04 and Python 2.7.

P.S. apparently, there could be some issues with step 1 of the above algorithm, this post mentions how to fix them.

    
por Emmie Jackson 20.05.2017 / 12:40
3

Como você usa o python 3, o comando correto seria pip3 install pydot graphviz . Você pode instalar o pip3 usando sudo apt install python3-pip .

    
por Casper Gerritsen 20.05.2017 / 09:14
0

No Ubuntu 17.10, o ff resolveu o problema:

sudo apt-get install python3-pydot graphviz
sudo pip3 install pydot_ng
    
por rowel 28.03.2018 / 04:40