Какой линтер python я могу использовать для выявления проблем совместимости с Python 2-3?

#python #python-3.x #pep8 #flake8

#python #python-3.x #pep8 #flake8

Вопрос:

Я хочу перенести кодовую базу Python для работы как на Python 2, так и на Python 3, и я был удивлен, увидев, что по умолчанию такие инструменты, как flake8 или pep8, пропустили очень простое использование print без круглых скобок ( print 1 вместо print(1) ).

Как я могу облегчить эту миграцию?

Комментарии:

1. python-future.org/automatic_conversion.html Передайте свой код в систему управления версиями, а затем запустите его. Я бы не стал просто слепо доверять его изменениям, но он определит большинство (все?) проблемных областей. Используя свой код в системе управления версиями, вы можете просмотреть, что он изменил. Кроме того, используйте __future__ импорт как можно чаще.

Ответ №1:

Вы должны использовать 2to3 для выявления проблем / несовместимостей в коде

https://docs.python.org/3/howto/pyporting.html