Проверьте требования к поддержке 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
.