Estou executando um código que precisa de pydot e graphviz. Estou usando python 3.5 e ubuntu 16.04 LTS 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.
Pesquisei um pouco no google e descobri que posso instalar o pydot com o código pip install pydot
. Mas eu sei esse erro. Eu sou noob no ubuntu e não entendo o que fazer. então, como 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'
pip install pydot>=1.2.4
esudo apt-get install graphviz
.Respostas:
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:
Este fluxograma foi criado com o graphviz no Ubuntu. Como o graphviz usa a linguagem de programação de pontos incorporada que está 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.
Não sei por que você gostaria de instalar o pydot com pip quando você pode obtê-lo nos repositórios do Ubuntu, mas, para responder sua pergunta, tentei instalar o pydot de qualquer maneira em um ambiente virtual Python
pip3 install pydot
e funcionou, portanto é possível que você precisa atualizar o pip para a versão mais recente comsudo -H pip3 install --upgrade pip
. Eu usei empip3
vez de,pip
porque você escreveu na sua pergunta que está usando o Python 3.5.fonte
python-
e similarmente para PIP3 empacota seus nomes de pacotes nos repositórios do Ubuntu são geralmente precedidas porpython3-
pip
é a abordagem recomendada: a versão mais recente (os repositórios do Ubuntu podem estar desatualizados), gerenciados com um arquivo de requisitos quando apropriado e instalados em umvirtualenv
; não para os pacotes de sites do sistema.A partir desta resposta em "Instalando pacotes pydot e graphviz no ambiente Anaconda"
fonte
Como você usa python 3, o comando certo seria
pip3 install pydot graphviz
. Você pode instalar o pip3 usandosudo apt install python3-pip
.fonte
ln -s /path/to/pip3 /path/to/pip
No Ubuntu 17.10, a ff corrigiu o problema:
fonte