Im exécutant un code qui a besoin de pydot et graphviz. J'utilise python 3.5 et 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.
J'ai googlé un peu puis j'ai découvert que je pouvais installer pydot avec le code pip install pydot
. Mais je sais obtenir cette erreur. Je suis noob à Ubuntu et je ne comprends pas quoi faire. alors comment installer 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
etsudo apt-get install graphviz
.Réponses:
python-pydot et graphviz sont dans les référentiels Ubuntu par défaut dans toutes les versions actuellement prises en charge d'Ubuntu. Dans toutes les versions actuellement prises en charge d'Ubuntu, ouvrez le terminal et tapez:
Cet organigramme a été créé avec graphviz dans Ubuntu. Étant donné que graphviz utilise le langage de programmation par points intégré qui est inclus dans le package graphviz, le code source du diagramme lié est modifiable dans n'importe quel éditeur de texte même si python-pydot n'est pas installé.
Je ne sais pas pourquoi vous voudriez installer pydot avec pip quand vous pouvez l'obtenir à partir des référentiels Ubuntu, mais pour répondre à votre question, j'ai quand même essayé d'installer pydot dans un environnement virtuel Python
pip3 install pydot
et cela a fonctionné, il est donc possible que vous besoin de mettre à jour pip vers la dernière version avecsudo -H pip3 install --upgrade pip
. J'ai utilisépip3
au lieu depip
parce que vous avez écrit dans votre question que vous utilisez Python 3.5.la source
python-
et de même pour les packages pip3, leurs noms de package dans les référentiels Ubuntu sont généralement préfacés avecpython3-
pip
est l'approche recommandée: la dernière version (les référentiels Ubuntu peuvent être obsolètes), gérée avec un fichier d'exigences le cas échéant, et installée dans unvirtualenv
; pas aux packages de site du système.De cette réponse sur "Installer les packages pydot et graphviz dans l'environnement Anaconda"
la source
Parce que vous utilisez python 3, la bonne commande serait
pip3 install pydot graphviz
. Vous pouvez installer pip3 à l'aide desudo apt install python3-pip
.la source
ln -s /path/to/pip3 /path/to/pip
Sur Ubuntu 17.10, le ff a résolu le problème:
la source