Как установить пидот и графвиз?

24

Я бегу код, который нуждается в Pydot и Graphviz. Я использую Python 3.5 и Ubuntu 16.04 LTS 64 бит.

  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.

Я немного погуглил и обнаружил, что могу установить pydot с кодом pip install pydot. Но я знаю, получить эту ошибку. Я нуб в Ubuntu, и я не понимаю, что делать. так как мне установить пидот?

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'
Kong
источник
1
pip install pydot>=1.2.4и sudo apt-get install graphviz.
Иоаннис Филиппидис

Ответы:

38

python-pydot и graphviz находятся в репозиториях Ubuntu по умолчанию во всех поддерживаемых в настоящее время версиях Ubuntu. Во всех поддерживаемых в настоящее время версиях Ubuntu откройте терминал и введите:

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

Эта блок-схема была создана с помощью Graphviz в Ubuntu. Поскольку graphviz использует встроенный язык программирования точек, который включен в пакет graphviz, исходный код связанной потоковой диаграммы можно редактировать в любом текстовом редакторе, даже если python-pydot не установлен.

Я не знаю, почему вы захотите установить pydot с pip, если вы можете получить его из репозиториев Ubuntu, но чтобы ответить на ваш вопрос, я попытался установить pydot в любом случае в виртуальной среде Python, pip3 install pydotи это сработало, так что возможно, что вы необходимо обновить pip до последней версии с sudo -H pip3 install --upgrade pip. Я использовал pip3вместо того, pipпотому что вы написали в своем вопросе, что вы используете Python 3.5.

Карел
источник
вау спасибо :) Я следил за вашими комментариями, когда вы обновляли его. Наконец-то это сработало. Думаю, мне нужно больше погуглить на Ubuntu. pip, pip3, apt, apt-get ... все это очень запутанно.
Конг
В Ubuntu многие пакеты из PyPI включены в стандартные репозитории Ubuntu, и их именам пакетов обычно предшествуют, python-и аналогично для пакетов pip3 их имена пакетов в репозиториях Ubuntu обычно начинаются сpython3-
karel
pipРекомендуется подходить к установке пакетов непосредственно из PyPI с использованием: самой последней версии (репозитории Ubuntu могут быть устаревшими), при необходимости можно управлять файлом требований и устанавливать в virtualenv; не к системным пакетам сайта.
Иоаннис Филиппидис
6

Из этого ответа на "Установка пакетов pydot и graphviz в среде Anaconda"

У меня была та же проблема, и я решил ее (порядок важен ):

  1. Установка graphviz, просто черезsudo apt-get install graphviz
  2. Установка graphvizдля Python через condasudo ~/anaconda2/bin/conda install graphviz
  3. Наконец, установив pydotс помощью condasudo ~/anaconda2/bin/conda install pydot

Этот ответ просрочен, но этот пост помог мне (вместе с тем, в котором упоминается порядок установки), поэтому, надеюсь, этот ответ поможет кому-то еще. Я использую Ubuntu 14.04 и Python 2.7.

PS По-видимому, могут быть некоторые проблемы с шагом 1 вышеупомянутого алгоритма, в этом посте упоминается, как их исправить.

Эмми Джексон
источник
2
Пожалуйста, не занимайтесь плагиатом. Это не противоречит правилам сайта, но, конечно, не круто. Вместо этого вы можете скопировать и вставить ответы и указать их источник. Я отредактирую ваш ответ, чтобы продемонстрировать.
wjandrea
3

Поскольку вы используете Python 3, правильная команда будет pip3 install pydot graphviz. Вы можете установить pip3 используя sudo apt install python3-pip.

Каспер Герритсен
источник
1
или простоln -s /path/to/pip3 /path/to/pip
Иоаннис Филиппидис
0

В Ubuntu 17.10 ff исправил проблему:

sudo apt-get install python3-pydot graphviz
sudo pip3 install pydot_ng
колесико шпоры
источник