Использовать переданные свойства System.Windows.Forms.ScrollEventArgs «свойства OldValue и NewValue» для определения направления прокрутки.
Предыдущие ответы не решили мою проблему, но этот код сделал:
import sys
for name, module in sorted(sys.modules.items()):
if hasattr(module, '__version__'):
print name, module.__version__
Построение ответ Jakub Kukul я нашел более надежный способ решить эту проблему.
основная проблема того подхода, это требует, чтобы пакеты были установлены "традиционно" (и это не включает использование pip install --user
), или быть в системном ПУТИ при инициализации Python.
Для обхождения этого можно использовать pkg_resources.find_distributions(path_to_search)
. Это в основном ищет дистрибутивы, которые были бы разрешены к ввозу, если бы path_to_search
был в системном ПУТИ.
Мы можем выполнить итерации через этот генератор как это:
avail_modules = {}
distros = pkg_resources.find_distributions(path_to_search)
for d in distros:
avail_modules[d.key] = d.version
Это возвратит словарь, имеющий модули как ключи и их версия как значение. Этот подход может быть расширен на намного больше, чем номер версии.
Благодаря Jakub Kukul для того, чтобы указывать на правильное направление
В версии Python 3.8 существует новое metadata
модуль в importlib
пакет, который может сделать это также.
Вот пример из документов:
>>> from importlib.metadata import version
>>> version('requests')
'2.22.0'