Cet article résume comment installer la bibliothèque d'analyse de réseau graph-tool. Cette bibliothèque est similaire à networkx et est une bibliothèque qui implémente des fonctions pour manipuler les données de graphe et calculer les caractéristiques du réseau à partir de python.
Alors que networkx est implémenté en python pur, graph-tool est implémenté en C ++ en utilisant OpenMP, donc le calcul est très rapide, ce qui est un avantage par rapport à networkx.
D'un autre côté, il n'est pas possible d'installer simplement pip install
comme la bibliothèque python pure, et cela dépend de nombreuses bibliothèques comprenant de nouvelles spécifications C ++ et des bibliothèques GUI, il est donc très difficile de construire manuellement. difficile.
À partir de 2020.10.1, la dernière version 2.35 peut être installée avec l'outil de gestion de paquets, ce qui facilite grandement l'installation. Voici un résumé des étapes d'installation sur macOS.
J'utilise généralement pyenv et pipenv pour gérer les versions et les packages de python, je vais donc vous montrer comment les utiliser autant que possible.
La méthode d'installation est résumée sur cette page. https://git.skewed.de/count0/graph-tool/-/wikis/installation-instructions
En gros, il existe les méthodes suivantes.
--Comment utiliser docker --Comment utiliser anaconda
Après avoir essayé différentes choses, chacune a des avantages et des inconvénients, mais la méthode utilisant ** conda semble être la plus simple et la plus pratique **. (En premier lieu, personnellement, je n'aime pas conda et je gère l'environnement virtuel avec pipenv, mais c'était quand même facile à utiliser conda)
Ici, la méthode d'installation est décrite sur la façon d'utiliser docker et comment utiliser conda.
--Avantage: le plus simple à utiliser
Tout d'abord, téléchargez l'image. En plus de graph-tool, numpy et jupyter sont déjà installés dans cette image docker.
$ docker pull tiagopeixoto/graph-tool
Pour le démarrer, exécutez la commande suivante.
$ 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
Vous pouvez maintenant utiliser jupyter en accédant au navigateur http: // localhost: 8888.
Lorsque vous avez terminé, quittez jupyter avec Ctrl-C et quittez shell.
Puisque le conteneur lui-même reste même après la sortie, vous pouvez redémarrer le conteneur avec docker start <container>
, et plus
$ docker exec -it -u user <container> jupyter notebook --ip 0.0.0.0
Vous pouvez redémarrer jupyter de la même manière avec.
En fonctionnement réel, il est souvent plus facile de monter le répertoire en question comme suit.
$ docker run -p 8888:8888 -p 6006:6006 -it -u user -w /home/user -v $(pwd):/home/user tiagopeixoto/graph-tool bash
Cette méthode est bonne jusqu'à ce que vous commenciez à l'utiliser, mais elle devient plus difficile si vous essayez de la personnaliser un peu.
J'ai essayé d'ajouter un package supplémentaire avec pip
, mais je n'ai pas pu utiliser la commande pip
dans cette image. J'ai essayé d'installer les extensions nb de jupyter, mais je ne savais pas comment l'installer.
--Avantage: Facile à introduire d'autres packages avec conda
Ici, pyenv est utilisé pour installer anaconda.
$ pyenv install anaconda3-2020.02
$ pyenv local anaconda3-2020.02 #Utilisez l'anaconda que vous venez d'installer ci-dessous
Ensuite, utilisez la commande conda
pour installer les packages graph-tool (et d'autres).
$ conda create --name gt -c conda-forge graph-tool # `gt`Créer un environnement virtuel nommé conda-graphique de forge-outil d'installation
$ conda install -n gt -c conda-forge ipython jupyter #Si vous installez des packages supplémentaires, procédez comme suit
En guise de mise en garde ici, assurez-vous d'ajouter -c conda-forge
pour spécifier que le paquet doit être installé à partir de conda-forge.
Aussi, il est bon de spécifier -c conda-forge
lors de l'installation de paquets supplémentaires ainsi que graph-tool. Il semble que le package officiel Anaconda par défaut et l'outil graphique sont souvent en conflit.
La façon habituelle d'utiliser l'environnement virtuel construit gt
est de conda activate
, mais pour utiliser la commande conda activate
, éditez ~ / .zshrc
. Il y a un besoin.
Je ne veux pas tellement changer l'environnement existant, alors j'ai décidé d'utiliser pyenv
pour changer d'environnement comme suit.
Lorsque vous exécutez pyenv versions
, vous pouvez voir que l'environnement virtuel créé précédemment est créé avec le nom ʻanaconda3-2020.02 / envs / gt. Par conséquent, changez cet environnement avec une commande telle que
pyenv local`.
$ pyenv local anaconda3-2020.02/envs/gt
En guise de test, exécutons le code de test suivant.
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
Succès si le fichier image suivant est créé avec le nom "two-nodes.pdf" après exécution.
Recommended Posts