Я бегу код, который нуждается в 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'
pip install pydot>=1.2.4
иsudo apt-get install graphviz
.Ответы:
python-pydot и graphviz находятся в репозиториях Ubuntu по умолчанию во всех поддерживаемых в настоящее время версиях Ubuntu. Во всех поддерживаемых в настоящее время версиях Ubuntu откройте терминал и введите:
Эта блок-схема была создана с помощью 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.источник
python-
и аналогично для пакетов pip3 их имена пакетов в репозиториях Ubuntu обычно начинаются сpython3-
pip
Рекомендуется подходить к установке пакетов непосредственно из PyPI с использованием: самой последней версии (репозитории Ubuntu могут быть устаревшими), при необходимости можно управлять файлом требований и устанавливать вvirtualenv
; не к системным пакетам сайта.Из этого ответа на "Установка пакетов pydot и graphviz в среде Anaconda"
источник
Поскольку вы используете Python 3, правильная команда будет
pip3 install pydot graphviz
. Вы можете установить pip3 используяsudo apt install python3-pip
.источник
ln -s /path/to/pip3 /path/to/pip
В Ubuntu 17.10 ff исправил проблему:
источник