Когда я запускаю очень простой код с помощью pydot
import pydot
graph = pydot.Dot(graph_type='graph')
for i in range(3):
edge = pydot.Edge("king", "lord%d" % i)
graph.add_edge(edge)
vassal_num = 0
for i in range(3):
for j in range(2):
edge = pydot.Edge("lord%d" % i, "vassal%d" % vassal_num)
graph.add_edge(edge)
vassal_num += 1
graph.write_png('example1_graph.png')
Он выводит мне сообщение об ошибке:
Couldn't import dot_parser, loading of dot files will not be possible.
Я использую python 2.7.3
python
python-2.7
graphviz
pydot
Садик
источник
источник
pip install pydot2
должен исправить эту проблему. Намного лучше, чем использование,pip uninstall
потому что если вы поделитесь кодом, вы можете просто добавить pydot2 в свой файл requirements.txt и не позволять пользователям запускать незнакомые команды.Ответы:
Ответ для
pydot >= 1.1
:Несовместимость (восходящего потока)
pydot
была исправлена 6dff94b3f1 , и поэтомуpydot >= 1.1
будет совместим сpyparsing >= 1.5.7
.Ответ применим к
pydot <= 1.0.28
:Для всех, кто сталкивается с этим, это связано с изменениями в pyparsing с версии 1.x до версии 2.x. Чтобы установить pydot с помощью pip, сначала установите старую версию pyparsing:
Если вы не устанавливали
pyparsing
usingpip
, а использовали вместо этогоsetup.py
, ознакомьтесь с этим решением, чтобы удалить пакет. Спасибо @qtips.источник
sudo pip uninstall
не работает, если вы установили свой пакет, используяpython setup.py install
в этом случае, следуйте этому решению. По крайней мере, так было на моем Mac Mountain Lion OSXsudo
очевидно, не всегда необходимо, например, если вы используете virtualenv. Кроме этого, у меня это сработало!pip install pyparsing==1.5.7
?В репозитории pip есть новый пакет под названием pydot2, который правильно работает с pyparsing2. Я не мог понизить версию своих пакетов, потому что matplotlib зависит от нового пакета pyparsing.
Примечание: python2.7 из macports
источник
pydotprint
работы.pydot использовал частную переменную модуля (_noncomma) из pyparsing. Приведенный ниже diff исправляет его для использования для pyparsing 2.0.1:
источник
Я разветвил репозиторий pydot [1], применил патч Gabi Davar и некоторые изменения для поддержки python-3. Пакет доступен в PyPI [2].
Ура
источник
pip install...
не удалось посередине без явной ошибки. Похоже, что манифест и фактические файлы не совпадают. Я проверяю репозиторий git, аmv README.rst README
затемpython setup.py install
. У меня это сработало :-)pip install pydot2
работает, но работает, и эта ссылка, pypi.python.org/pypi/pydot2/1.0.32 , работает.$ sudo pip uninstall pydot
$ sudo pip install pydot2
См. Следующую ссылку: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
источник
pip uninstall pydot2
а потомpip install pydot
исправил ошибку. Вот ссылка на правильный ответ: github.com/pydot/pydot/issues/166#issuecomment-356066120Решением было не устанавливать pydot откуда-то, а «python-pydot» из официальных репозиториев ubuntu.
источник
pip install python-pydot
у меня не работает (раздача не найдена);pip install pydot
делает. Так что я не думаю, чтоpydot
это обязательно неофициально. Возможно, вы вместо этого выполняли установку через дистрибутив ОС?sudo apt-get install python-pydot
сделал это за меня.python-pyparsing
версию 1.5.2, что позволяет избежать несовместимости версий, перечисленных выше. Я использовал исправление, указанное выше, и с тех пор проблем не было. Спасибо!Сейчас есть как минимум еще две версии, которые поддерживают PyParsing-2 и Python-3:
site-packages\pydotplus
на,site-packages\pydot
чтобы он работал с существующими программами, импортирующими pydot.источник
У меня снова возникла проблема, и мое вышеупомянутое решение не сработало. Если это верно для вас, и вы также используете Anaconda на Mac с El Capitan, попробуйте следующее:
источник
Что я сделал в конце после стольких попыток из того, что я видел здесь (псевдопоследовательность для работы с networkx):
источник
Это сработало для меня (Mac OS X 10.9 с Python 2.7.10 на Anaconda):
Затем,
Затем Pyparsing понижается (с 2.x до 1.5.7) после установки pydot. Будущие гуглеры: это позволило мне правильно установить и импортировать Theano.
источник
На OSX Mavericks сработало следующее ... Я получил ту же ошибку, но внизу также была жалоба на отсутствие исполняемого файла graphviz ... Я думаю, проблема заключалась в том, что я установил graphviz до других модулей?
источник
Когда другие решения не работают, это быстрый и грязный метод решения проблемы:
Этот пример взят из python 2.7 на Ubuntu 16.04.
Отредактируйте файл python2.7 / site-packages / keras / utils / visualize_util.py и прокомментируйте фрагмент кода ниже.
find_graphviz () избыточен в новых версиях pydot, и вышеуказанный вызов не работает.
источник
Я также столкнулся с проблемой и моим pydot == 1.0.28 во время pyparsing == 2.2.0. Я исправил проблему, загрузив новейшую версию pydot 1.2.3 (tar.gz) из Google, а затем установив ее в автономном режиме. Когда я обновил pydot в ubuntu 14.04, он сказал, что pydot 1.0.28 - самая новая версия. Поэтому качаю с гугла версию 1.2.3.
источник
Вам нужно понизить версию pyparsing с версии 2.x до версии 1.5.7, чтобы pydot работал правильно.
Для win-64 с использованием Conda это сработало для меня:
Затем я отключил / удалил версию 2.x и перезагрузил pyparsing в свой скрипт:
Чтобы проверить, установлена ли у вас правильная версия:
источник