2015-12-11 35 views
7

Próbuję zrobić wykresy Networkx Graphviz.Ubuntu graphviz 'sfdp' nie działa

Po uruchomieniu: pos = nx.graphviz_layout(G, prog = 'sfdp'). Wystąpił błąd, mówiąc:

Error: remove_overlap: Graphviz not built with triangulation library 

Po pewnym Google badań stwierdziliśmy, że GTS jest problem. Bug report stwierdził:

The Graphviz package is built --without-gts. This is bad news for sfdp, which complains “Error: remove_overlap: Graphviz not built with triangulation library” and fails to produce the beautiful output it creates when compiled --with-gts

Patrząc na komentarze (na raporcie bug), ktoś powiedział, że upstream źródła Graphviz są przechowywane w link ale nie mogłem znaleźć nowe wersje do pobrania.

Na opakowaniu list Mam najnowszy (2,36 dla zaufany).

Ktoś jeszcze ma problemy z sfdp?

Każda pomoc zostanie bardzo doceniona!

+1

Ten sam problem, brak rozwiązania. –

+0

@PaulSmith Dawno się poddałem: D – VlS

Odpowiedz

1

I może mieć to działa na Ubuntu 14.04, YMMV

Pobierz następujące pakiety Graphviz bezpośrednio od https://packages.debian.org/search?keywords=graphviz

  • graphviz_2.38.0-13_amd64.deb
  • libcgraph6_2.38.0-13_amd64. deb
  • libgvc6_2.38.0-13_amd64.deb
  • libgvpr2_2.38.0-13_amd64.deb
  • libltdl7_2.4.6-0.1_amd64.deb
  • pyton-pygraphviz_1.3.1-1_amd64.deb

kiedyś wersji 2.38.0-13 z rozciąganiem (kontrola) grupy. Trzeba będzie usunąć libltdl7 32bit jeśli teraźniejszości:

sudo apt-get remove libltdl7:i386 

Instaluje pakiety bezpośrednio z

sudo dpkg -i graphviz_2.38.0-13_amd64.deb  
sudo dpkg -i libcgraph6_2.38.0-13_amd64.deb libgvc6_2.38.0-13_amd64.deb libgvpr2_2.38.0-13_amd64.deb libltdl7_2.4.6-0.1_amd64.deb 

Można oczekiwać błędów zależnościami. I zdaje się im:

sudo apt-get install -f 

a następnie ponownie zainstalować

sudo dpkg -i graphviz_2.38.0-13_amd64.deb 
sudo dpkg -i python-pygraphviz_1.3.1-1_amd64.deb 

Błąd nie appeares chociaż będę ciężko pchnął powiedzieć wykresy są lepiej.

+0

nie działa. :( – lizlalala

1

Wiem, że pytanie jest dla Ubuntu, ale w przypadku ktoś ma ten sam problem na MacOS korzystając homebrew następuje pracował dla mnie:

brew reinstall graphviz --with-gts 
4

Dla użytkowników Ubuntu, to w jaki sposób Mam grapviz do pracy 16.04, kompilując graphviz-2.40.1 ze źródła:

Najpierw należy zainstalować GTS, ponieważ graphviz szuka gts.pc file.

running apt-file search gts.pc uczy mnie muszę zainstalować 'libgts-dev':

sudo apt install libgts-dev 

obok make pkg-config świadomi pliki:

pkg-config --libs gts 

pkg-config --cflags gts 

skrypt configure połączyć w bibliotece GTS:

./configure --with-gts --prefix ~ 
make 
make install 

SFDP już nie zgłasza błędu "Błąd: remove_overlap: Graphviz nie jest zbudowany z biblioteka triangulacji '

Kody linii poleceń dla konfiguracji pkg I zmodyfikowanej z odpowiedzi this.

+1

Pobrałem 'graphviz-2.40.1.tar.gz' z [tutaj] (http://www.graphviz.org/Download_source.php) i przebiegła twoja procedura, i to działa - sort. Mogę użyć niektórych poleceń ('dot',' fdp'), ale nie innych ('sfdp',' neato') .Dowolny pomysł, co tu się dzieje? (Używanie Ubuntu 16.04.2) ' – JoeRocc

+0

'/usr/bin/sfdp: Żaden taki plik lub katalog' nie jest problemem, przy okazji, podczas gdy inne polecenia działają tak jak normalnie. [Ten post] (https: //bugs.debian .org/cgi-bin/bugreport.cgi? bug = 853468) wydaje się zgadzać z powyższą procedurą odpowiedzi (1. zainstaluj 'libgts-dev', 2. dodaj' --with-gts' do konfiguracji). ma ten sam problem co ja? – JoeRocc

+0

OK, mam to działa (przynajmniej żadnych problemów) - dla innych, którzy mają podobne kłopoty, napisałem trochę informacji tutaj: https://github.com/ellson/gr aphviz/issues/1237 Chociaż to było prawdopodobnie coś, co zrobiłem źle. Dzięki, Sam! – JoeRocc