Есть ли реализованное программное решение для определения версии версии интерпретатора Python для недокументированного .py-модуля, за исключением ручного поиска исходного кода?Как определить версию интерпретатора Python для недокументированного .py-модуля?
$ python get_py_version my_module.py
'2.6 version module'
Проблема возникла после установки пакета недокументированного интерпретатора 3.x, чтобы обнаружить во время импорта есть print
заявления от переводчика 2.x
Неа, глядя на код довольно много его. Если разработчик не добавил документацию (docstrings, комментарии или явная проверка версии). –
Просто запустите модуль тестирования модулей - если все тесты пройдены, модуль поддерживается вашим интерпретатором. Если это голой модуль без каких-либо тестов - ваша догадка так же хороша, как и моя. Насколько я знаю, для этой задачи нет общего решения. Конечно, вы можете попробовать использовать 2to3 и подготовить свой модуль вручную, но проблема все равно возникает - без набора тестов вы не можете знать, работает ли код. Любой код. –
@MartijnPieters, который является отсутствующей функцией в Python, было бы легко реализовать как часть интерпретатора, чтобы вывести поддерживаемую версию из синтаксиса модуля –