Kiedy uruchamiam bardzo prosty kod za pomocą 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')
Wyświetla mi komunikat o błędzie:
Couldn't import dot_parser, loading of dot files will not be possible.
Używam Pythona 2.7.3
python
python-2.7
graphviz
pydot
Sadik
źródło
źródło
pip install pydot2
powinien rozwiązać ten problem. O wiele przyjemniejsze niż używanie,pip uninstall
ponieważ jeśli udostępniasz kod, możesz po prostu dodać pydot2 do swojego Requirements.txt i nie pozwalać użytkownikom na uruchamianie nieznanych poleceń.Odpowiedzi:
Odpowiedź na
pydot >= 1.1
:Niekompatybilność (upstream)
pydot
została naprawiona przez 6dff94b3f1 , a zatempydot >= 1.1
będzie kompatybilna zpyparsing >= 1.5.7
.Odpowiedź dotyczy
pydot <= 1.0.28
:Dla każdego, kto się z tym spotka, wynika to ze zmian w pyparsingu z wersji 1.x do wersji 2.x. Aby zainstalować pydot przy użyciu pip, najpierw zainstaluj starszą wersję pyparsing:
Jeśli nie zainstalowałeś
pyparsing
przy użyciupip
, ale zamiast tego użyłeśsetup.py
, spójrz na to rozwiązanie, aby odinstalować pakiet. Dzięki @qtips.źródło
sudo pip uninstall
nie działa, jeśli zainstalowałeś pakiet przy użyciupython setup.py install
w takim przypadku, postępuj zgodnie z tym rozwiązaniem. Tak było przynajmniej na moim Macintoshu z Mountain Lion OSXsudo
oczywiście nie zawsze jest konieczne, jak w przypadku korzystania z virtualenv. Poza tym to zadziałało dla mnie!pip install pyparsing==1.5.7
?W repozytorium pip znajduje się nowy pakiet o nazwie pydot2, który działa poprawnie z pyparsing2. Nie mogłem obniżyć wersji moich pakietów, ponieważ matplotlib zależy od nowszego pakietu pyparsing.
Uwaga: python2.7 z macports
źródło
pydotprint
aby działał.pydot użył prywatnej zmiennej modułu (_noncomma) z pyparsing. Poniższa różnica naprawia ją do użycia w pyparsingu 2.0.1:
źródło
Rozwidliłem repozytorium pydot [1], zastosowałem łatkę Gabi Davar i kilka zmian, aby obsługiwać Python-3. Pakiet jest dostępny w PyPI [2].
Twoje zdrowie
źródło
pip install...
nie powiodło się w środku bez wyraźnego błędu. Wygląda na to, że manifest i rzeczywiste pliki nie pasują. Sprawdzam repozytorium git, amv README.rst README
potempython setup.py install
. To zadziałało dla mnie :-)pip install pydot2
działa, a ten link, pypi.python.org/pypi/pydot2/1.0.32 , działa.$ sudo pip uninstall pydot
$ sudo pip install pydot2
Zobacz poniższy link: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
źródło
pip uninstall pydot2
a potempip install pydot
naprawiłem błąd. Oto link do poprawnej odpowiedzi: github.com/pydot/pydot/issues/166#issuecomment-356066120Rozwiązaniem nie było zainstalowanie pydota skądś, ale „python-pydot” z oficjalnych repozytoriów Ubuntu.
źródło
pip install python-pydot
nie działa dla mnie (nie znaleziono dystrybucji);pip install pydot
robi. Więc nie sądzę, żepydot
jest to koniecznie nieoficjalne. Być może zamiast tego instalowałeś za pośrednictwem dystrybucji systemu operacyjnego?sudo apt-get install python-pydot
zrobiłem to dla mnie.python-pyparsing
wersję 1.5.2, co pozwala uniknąć niezgodności wersji wymienionej powyżej. Poszedłem z powyższą poprawką i od tego czasu nie miałem problemów. Dzięki!Istnieją teraz co najmniej 2 dodatkowe wersje, które wydają się wspierać PyParsing-2 i Python-3:
site-packages\pydotplus
abysite-packages\pydot
go do pracy z istniejących programów, które importują pydot.źródło
Ponownie miałem problem i powyższe rozwiązanie nie zadziałało. Jeśli to prawda i używasz również Anacondy na komputerze Mac z El Capitan, spróbuj tego:
źródło
Co zrobiłem na koniec po tylu próbach z tego, co tutaj widziałem (pseudo sekwencja, aby działała dla networkx):
źródło
To zadziałało dla mnie (Mac OS X 10.9 z Pythonem 2.7.10 na Anaconda):
Następnie,
Pyparsing jest następnie obniżany (z 2.x do 1.5.7) po instalacji pydota. Przyszli pracownicy Google: pozwoliło mi to poprawnie zainstalować i zaimportować Theano.
źródło
Na OSX Mavericks udało się wykonać następujące czynności ... Otrzymałem ten sam błąd, ale na dole była też skarga, że plik wykonywalny graphviz nie był obecny ... Myślę, że problem polegał na tym, że zainstalowałem Graphviz przed innymi modułami?
źródło
Jeśli inne rozwiązania nie działają, jest to szybka i brudna metoda rozwiązania problemu:
Ten przykład pochodzi z Pythona 2.7 na Ubuntu 16.04.
Edytuj plik python2.7 / site-packages / keras / utils / visualize_util.py i skomentuj segment kodu poniżej.
find_graphviz () jest zbędna w nowszych wersjach pydot, a powyższe wywołanie nie działa.
źródło
Spotkałem też problem i mój pydot == 1.0.28 podczas pyparsing == 2.2.0. Rozwiązałem problem, pobierając najnowszy pydot 1.2.3 (tar.gz) z Google, a następnie instalując go offline. Kiedy zaktualizowałem pydot w Ubuntu 14.04, powiedziałem, że pydot 1.0.28 jest najnowszą wersją. Dlatego pobieram z google wersję 1.2.3.
źródło
Musisz obniżyć pyparsing z wersji 2.x do wersji 1.5.7, aby pydot działał poprawnie.
W przypadku win-64, używając Conda, działało to dla mnie:
Następnie wyłączyłem / odinstalowałem wersję 2.x i ponownie załadowałem pyparsing w moim skrypcie:
Aby sprawdzić, czy masz uruchomioną odpowiednią wersję:
źródło