Проверьте требования к поддержке python 3

У меня есть несколько проектов python с разными наборами зависимостей, перечисленных в файлах требований к файлам. Я начал думать о переносе кода на python 3, но мне нужно знать, существуют ли мои зависимости.

Можно ли проверить, какие пакеты из requirements.txt поддерживают файл python 3, а что нет?

Пример requirements.txt Содержимое:

mysql-python==1.2.5
lxml==3.3.4
Fabric==1.8.0

Из этого списка только lxml поддерживает python 3.


Просто примечание.

Существует Python 3 Wall of Superpowers (python3wos проект), который показывает поддержку python 3 популярных пакетов python.

Насколько я понимаю, python3wos периодически анализирует страницы Python Package Index html и проверяет для текста Programming Language :: Python :: 3, чтобы определить, поддерживает ли пакет python 3rd ветки или нет. Разве нет ничего проще, чем очистить html от PyPI?

Ответ 1

С помощью источников @thefourtheye и py3readiness.org я нашел именно то, что мне нужно.

caniusepython3 модуль Бретта Кэннона:

Определите, какие проекты блокируют вас от портирования на Python 3

Этот script принимает набор зависимостей и затем определяет, какие из них удерживают вас от портирования на Python 3.

Пример (для requirements.txt вопроса):

$ caniusepython3 -r requirements.txt 
Finding and checking dependencies ...

You need 2 projects to transition to Python 3.
Of those 2 projects, 2 have no direct dependencies blocking their transition:

  fabric
  mysql-python

Следует отметить, что он по-прежнему использует тот же подход, что и python3wos - ищет классификаторы Programming Language :: Python :: 3x на странице пакета.

Существует также веб-интерфейс, где вы можете ввести свои зависимости или удалить файл requirements.txt.