Angenommen, Sie möchten einen kurzen Blick auf die Abhängigkeiten eines Python-Pakets werfen. Hier erklären wir, wie man mit graphviz visualisiert. Ich habe es unter Ubuntu 15.10 bestätigt, aber vielleicht kann es auch unter Windows gemacht werden.
Annahme: Es wird davon ausgegangen, dass Anaconda installiert ist.
Die Installation von graphviz ist wie folgt. Installieren Sie graphviz selbst mit conda und den Wrapper mit pip. Ich brauchte auch eine Bibliothek namens libltdl7.
bash
conda install -y graphviz
pip install graphviz
apt-get install -y libltdl7
Verwenden Sie pipdeptree für Paketabhängigkeiten. Die Installation ist wie folgt.
bash
pip install pipdeptree
Sie können python-dep.png wie folgt erstellen. Sie sind so ausgerichtet, dass Sie sie von links installieren können.
python
import graphviz
from subprocess import run, DEVNULL, PIPE
ss = run(['pipdeptree'], stdout=DEVNULL, stderr=PIPE,
universal_newlines=True).stderr.rstrip().split('\n')
ss = [s[2:].lower().split()[:3] for s in ss if s[0] in ' *']
g = graphviz.Digraph(format='png', filename='python-dep', engine='dot')
g.edges([(s[2], s[0][:s[0].index('=')]) for s in ss])
g.attr('graph', rankdir='LR')
g.render()
Die obige Serie von Docker (Dockerfile blob / master / Dockerfile)) ist vorbereitet. Sie können python-dep.png wie folgt erstellen.
bash
docker run -it --rm -v $PWD:/tmp -w /tmp \
tsutomu7/python-dep python /root/python-dep.py
Referenz Zusammenfassung zum Zeichnen von Grafiken in Graphviz- und Punktsprachen Einfache Python-Paketverwaltung mit Pip-bezogenen Tools Ich habe versucht, die in Python installierten Pakete grafisch darzustellen ... Ich habe es gefunden, nachdem ich den Artikel geschrieben habe.
das ist alles
Recommended Posts