Ketika saya menjalankan kode yang sangat sederhana dengan 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')
Ini mencetak saya pesan kesalahan:
Couldn't import dot_parser, loading of dot files will not be possible.
Saya menggunakan python 2.7.3
python
python-2.7
graphviz
pydot
Sadik
sumber
sumber
pip install pydot2
harus memperbaiki masalah ini. Jauh lebih bagus daripada menggunakanpip uninstall
karena jika Anda berbagi kode, Anda dapat menambahkan pydot2 ke terms.txt Anda dan tidak meminta pengguna menjalankan perintah yang tidak dikenal.Jawaban:
Jawaban untuk
pydot >= 1.1
:Ketidakcocokan (upstream)
pydot
telah diperbaiki oleh 6dff94b3f1 , dan dengan demikianpydot >= 1.1
akan kompatibel denganpyparsing >= 1.5.7
.Jawaban berlaku untuk
pydot <= 1.0.28
:Bagi siapa pun yang menemukan ini, itu karena perubahan pyparsing dari 1.x ke rilis 2.x. Untuk menginstal pydot menggunakan pip, instal pyparsing versi lama terlebih dahulu:
Jika Anda tidak menginstal
pyparsing
menggunakanpip
, tetapi malah digunakansetup.py
, lihat solusi ini untuk menghapus paket. Terima kasih @qtips.sumber
sudo pip uninstall
tidak berfungsi jika Anda telah menginstal paket Anda menggunakanpython setup.py install
dalam kasus itu, ikuti solusi ini . Ini setidaknya terjadi pada Mountain Lion OSX Mac sayasudo
jelas tidak selalu diperlukan, seperti jika Anda menggunakan virtualenv. Selain itu, ini berhasil untuk saya!pip install pyparsing==1.5.7
?Ada paket baru di repo pip yang disebut pydot2 yang berfungsi dengan benar dengan pyparsing2. Saya tidak dapat menurunkan versi paket saya karena matplotlib bergantung pada paket pyparsing yang lebih baru.
Catatan: python2.7 dari macports
sumber
pydotprint
dapat bekerja.pydot menggunakan variabel modul privat (_noncomma) dari pyparsing. Diff di bawah ini memperbaikinya untuk digunakan untuk pyparsing 2.0.1:
sumber
Saya membuat fork repositori pydot [1], menerapkan patch Gabi Davar dan beberapa perubahan untuk mendukung python-3. Paket ini tersedia di PyPI [2].
Bersulang
sumber
pip install...
gagal di tengah tanpa kesalahan eksplisit. Sepertinya manifes dan file sebenarnya tidak cocok. Saya melakukan checkout git repo,mv README.rst README
lalupython setup.py install
. Ini berhasil untuk saya :-)pip install pydot2
berfungsi dan tautan ini, pypi.python.org/pypi/pydot2/1.0.32 , berfungsi.$ sudo pip uninstall pydot
$ sudo pip install pydot2
Lihat tautan berikut: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
sumber
pip uninstall pydot2
dan kemudianpip install pydot
memperbaiki kesalahan. Berikut ini tautan pada jawaban yang benar: github.com/pydot/pydot/issues/166#issuecomment-356066120Solusinya bukanlah menginstal pydot dari suatu tempat, tetapi "python-pydot" dari repositori resmi ubuntu.
sumber
pip install python-pydot
tidak bekerja untuk saya (distribusi tidak ditemukan);pip install pydot
tidak. Jadi saya rasa itupydot
tidak selalu tidak resmi. Mungkin Anda menginstal melalui distribusi OS?sudo apt-get install python-pydot
lakukan untukku.python-pyparsing
1.5.2, yang menghindari ketidakcocokan versi yang tercantum di atas. Saya pergi dengan perbaikan di atas dan tidak mengalami masalah sejak itu. Terima kasih!Sekarang ada setidaknya 2 versi lagi yang tampaknya mendukung PyParsing-2 dan Python-3:
site-packages\pydotplus
menjadisite-packages\pydot
agar dapat bekerja dengan program yang ada yang mengimpor pydot.sumber
Saya mengalami masalah lagi dan solusi saya di atas tidak berhasil. Jika itu benar untuk Anda dan Anda juga menggunakan Anaconda di Mac dengan El Capitan, coba ini:
sumber
Apa yang saya lakukan di akhir setelah begitu banyak percobaan dari apa yang saya lihat di sini (urutan semu agar berfungsi untuk networkx):
sumber
Ini berhasil untuk saya (Mac OS X 10.9 dengan Python 2.7.10 di Anaconda):
Kemudian,
Pyparsing kemudian diturunkan (dari 2.x ke 1.5.7) setelah instalasi pydot. Karyawan Google Masa Depan: ini memungkinkan saya menginstal dan mengimpor Theano dengan benar.
sumber
Di OSX Mavericks, berikut ini melakukan triknya ... Saya mendapat kesalahan yang sama tetapi di bagian bawah ada juga keluhan bahwa graphviz dapat dieksekusi tidak ada ... Saya pikir masalahnya adalah saya telah menginstal graphviz sebelum modul lain?
sumber
Ketika solusi lain tidak berfungsi, ini adalah metode cepat dan kotor untuk menyelesaikan masalah:
Contoh ini dari python 2.7 di Ubuntu 16.04.
Edit file python2.7 / site-packages / keras / utils / visualize_util.py dan beri komentar pada segmen kode di bawah.
find_graphviz () redundan pada versi pydot yang lebih baru, dan panggilan di atas tidak berfungsi.
sumber
Saya juga menemui masalah dan pydot saya == 1.0.28 saat pyparsing == 2.2.0. Saya memperbaiki masalah dengan mengunduh pydot 1.2.3 (tar.gz) terbaru dari google dan kemudian menginstalnya secara offline. Ketika saya memperbarui pydot di ubuntu 14.04, dikatakan bahwa pydot 1.0.28 adalah versi terbaru. Oleh karena itu saya mendownload dari google versi 1.2.3.
sumber
Anda perlu menurunkan pyparsing dari versi 2.x ke versi 1.5.7 agar pydot berfungsi dengan benar.
Untuk win-64, menggunakan Conda, ini berhasil untuk saya:
Saya kemudian menonaktifkan / mencopot pemasangan versi 2.x dan memuat ulang pyparsing di skrip saya:
Untuk memeriksa apakah Anda menjalankan versi yang benar:
sumber