Dieser Artikel fasst zusammen, wie die Netzwerkanalysebibliothek graph-tool installiert wird. Diese Bibliothek ähnelt networkx und ist eine Bibliothek, die Funktionen zum Bearbeiten von Diagrammdaten und zum Berechnen von Netzwerkfunktionen aus Python implementiert.
Während networkx in reinem Python implementiert ist, wird das Graph-Tool intern in C ++ mit OpenMP implementiert, sodass die Berechnung sehr schnell ist, was gegenüber networkx von Vorteil ist. Auf der anderen Seite ist es nicht möglich, einfach wie die reine Python-Bibliothek "pip install" zu installieren, und es hängt von vielen Bibliotheken ab, einschließlich neuer C ++ - Spezifikationen und GUI-Bibliotheken, so dass es sehr schwierig ist, manuell zu erstellen. schwer.
Ab 2020.10.1 kann die neueste Version 2.35 mit dem Paketverwaltungstool installiert werden, was die Installation erheblich vereinfacht. Hier finden Sie eine Zusammenfassung des Verfahrens zur Installation unter macOS.
Normalerweise verwende ich pyenv und pipenv, um Python-Versionen und -Pakete zu verwalten. Deshalb zeige ich Ihnen, wie Sie sie so oft wie möglich verwenden.
Die Installationsmethode ist auf dieser Seite zusammengefasst. https://git.skewed.de/count0/graph-tool/-/wikis/installation-instructions
Grob gesagt gibt es die folgenden Methoden.
Nachdem Sie verschiedene Dinge ausprobiert haben, hat jedes Vor- und Nachteile, aber die Methode mit ** conda scheint die einfachste und praktischste ** zu sein. (Erstens mag ich Conda persönlich nicht und verwalte die virtuelle Umgebung mit pipenv, aber es war immer noch einfach, Conda zu verwenden.)
Hier wird die Installationsmethode zur Verwendung von Docker und zur Verwendung von Conda beschrieben.
--Vorteil: Am einfachsten zu bedienen
Laden Sie zuerst das Bild herunter. Neben dem Graph-Tool sind in diesem Docker-Image bereits Numpy und Jupyter installiert.
$ docker pull tiagopeixoto/graph-tool
Führen Sie zum Starten den folgenden Befehl aus.
$ docker run -p 8888:8888 -p 6006:6006 -it -u user -w /home/user tiagopeixoto/graph-tool bash
$ jupyter notebook --ip 0.0.0.0
Jetzt können Sie jupyter verwenden, indem Sie auf den Browser http: // localhost: 8888 zugreifen.
Wenn Sie fertig sind, beenden Sie jupyter mit Strg-C und beenden Sie die Shell.
Da der Container selbst auch nach dem Beenden erhalten bleibt, können Sie den Container mit Docker Start
$ docker exec -it -u user <container> jupyter notebook --ip 0.0.0.0
Sie können jupyter auf die gleiche Weise mit neu starten.
Im tatsächlichen Betrieb ist es oft einfacher, das vorliegende Verzeichnis wie folgt zu mounten.
$ docker run -p 8888:8888 -p 6006:6006 -it -u user -w /home/user -v $(pwd):/home/user tiagopeixoto/graph-tool bash
Diese Methode ist gut, bis Sie sie zum ersten Mal verwenden, aber es wird schwieriger, wenn Sie versuchen, sie ein wenig anzupassen.
Ich habe versucht, ein zusätzliches Paket mit pip
hinzuzufügen, aber ich konnte den Befehl pip
in diesem Bild nicht verwenden. Ich habe versucht, die nb-Erweiterungen von jupyter zu installieren, wusste aber nicht, wie ich sie installieren sollte.
--Vorteil: Einfache Einführung anderer Pakete mit Conda
Hier wird Pyenv verwendet, um Anaconda zu installieren.
$ pyenv install anaconda3-2020.02
$ pyenv local anaconda3-2020.02 #Verwenden Sie die Anakonda, die Sie gerade unten installiert haben
Verwenden Sie dann den Befehl conda
, um die Graph-Tool-Pakete (und andere) zu installieren.
$ conda create --name gt -c conda-forge graph-tool # `gt`Erstellen Sie eine virtuelle Umgebung mit dem Namen conda-Grafik aus Schmiede-Tool installieren
$ conda install -n gt -c conda-forge ipython jupyter #Tun Sie dies, wenn Sie zusätzliche Pakete installieren
Fügen Sie hier als Einschränkung "-c conda-forge" hinzu, um anzugeben, dass das Paket von conda-forge installiert werden soll.
Es ist auch gut, -c conda-forge
anzugeben, wenn zusätzliche Pakete sowie ein Graph-Tool installiert werden. Es scheint, dass das offizielle Standardpaket und das Grafik-Tool von Anaconda häufig in Konflikt stehen.
Die übliche Art, die erstellte virtuelle Umgebung "gt" zu verwenden, ist "conda enabled". Um jedoch den Befehl "conda enable` zu verwenden, bearbeiten Sie" ~ / .zshrc ". Es gibt Bedarf. Ich möchte die vorhandene Umgebung nicht so sehr ändern, deshalb habe ich mich entschieden, "pyenv" zu verwenden, um die Umgebung wie folgt zu wechseln. Wenn Sie "pyenv-Versionen" ausführen, können Sie sehen, dass die zuvor erstellte virtuelle Umgebung mit dem Namen "anaconda3-2020.02 / envs / gt" erstellt wurde. Wechseln Sie daher diese Umgebung mit einem Befehl wie "pyenv local".
$ pyenv local anaconda3-2020.02/envs/gt
Führen Sie als Test den folgenden Testcode aus.
hello.py
import graph_tool.all as gt
g = gt.Graph()
v1 = g.add_vertex()
v2 = g.add_vertex()
e = g.add_edge(v1, v2)
gt.graph_draw(g, vertex_text=g.vertex_index, output="two-nodes.pdf")
$ python hello.py
Erfolgreich, wenn die folgende Bilddatei nach der Ausführung mit dem Namen "two-node.pdf" erstellt wird.
Recommended Posts