2013-03-06 3 views
0

Я хочу написать визуализацию Dependency-Graph всех пакетов python, установленных с помощью pip. Моя проблема в том, что код плохо документирован, и им не удалось найти, где График хранится в исходном коде.Использование Dependency-Graph для pip

Надеюсь, что у кого-то есть достаточно знаний о том, что код pip-source поможет мне.

Также я новичок в python и не уверен, что я должен просто внести изменения в существующий исходный код или написать модуль для него, хотя im склоняется больше к последнему.

// edit: Я могу получить все установленные модули с помощью замораживания через pip, но это дает мне только один список без зависимостей. Поэтому мне нужно найти способ извлечения зависимостей из этого списка.

ответ

0

Вот что я нашел во время моего поиска:

Pip не использовать Dependency-граф вообще внутренне. (По версии 1.3.X)

Так одно решение сделать следующее:

Вы можете установить Setuptools, если у вас нету Allready. Он приносит модуль с именем pkg_resources. В этом модуле есть все инструменты, чтобы увидеть все установленные модули (а не только те, которые установлены с помощью pip) в вашем желаемом каталоге-дисках. Затем вы можете прочитать метаданные (включая требования/зависимости) с методами, которые также включены в pkg_resources.

1

Да, его код довольно нечитабелен, если вы к нему не привыкли. Я не помню ничего подобного, и я бы не использовал его. Вы можете найти себе лучше подходит с distlib, который имеет модуль только для этого: https://distlib.readthedocs.org/en/latest/depgraph.html

+0

Это действительно помогает. Единственная проблема заключается в том, что distlib работает неправильно. И Distutils 2 не синхронизирован с его документом. – WeGi

+0

Чтобы выразить это лучше, distlib и distutils2 оба заброшены, как кажется. – WeGi

+0

Нет, distlib вовсе не заброшен. На странице репозитория вы можете видеть, что есть действительно ежедневная активность. Что вы имеете в виду, когда говорите, что он работает неправильно? Можете ли вы привести пример? – rubik

Смежные вопросы