Вы не можете просто импортировать код Python 2, если он не был специально написан для совместимости с Python 2/3 (что не редкость).
Обычная рекомендация - обновить скрипт Python 2 доPython 3, если он не может быть запущен Python 3. Стандартная библиотека 2to3
может помочь с этим, и существуют сторонние инструменты, которые могут сделать это еще проще, например python-future Для краткостискрипт, я бы поддержал эту рекомендацию.
Однако, это не только способ.
Второй вариант: вы можете запустить скрипт Python 2 под Python 2 внутриподпроцесс, запущенный из Python 3. Вы можете обмениваться данными между процессами, используя сериализованные данные, такие как JSON или более старый протокол pickle.Это влечет за собой написание некоторого связующего кода в Python 2, чтобы помочь передавать данные назад и вперед.Если вам нужен небольшой интерфейс для большой программы на Python 2, это может быть проще, чем обновить все до Python 3.
Третий вариант - использовать Tauthon (ранее известный как "неофициальный Python 2.8 ") для обоих скриптов.Tauthon полностью совместим с кодом Python 2, но добавляет множество функций Python 3, которые вы можете захотеть.Таким образом, вам придется адаптировать свой код Python 3 для Tauthon, а не код Python 2 для Python 3. В зависимости от относительного размера и сложности ваших двух баз кода, это может быть более простым вариантом, тем более что Tauthon уже поддерживаетбольшинство функций Python 3, которые вы можете использовать.
И, наконец, вы можете использовать инструмент для автоматического преобразования скрипта в Python 3 при импорте, например, lib2to3import .Это, вероятно, ближе всего к тому, что вы просили, но я не нашел такие инструменты, чтобы быть очень надежным.Этот подход на самом деле не проще, чем просто преобразование скрипта в Python 3, но если кто-то еще его поддерживает, он может упростить обновление, так как вам не придется восстанавливать его самостоятельно.Кроме того, вы можете продолжать использовать одну и ту же версию скрипта Python 2 как из программ Python 2, так и из программ Python 3, даже если вы вносите изменения, без усилий по созданию 2/3-совместимого скрипта.Ваш пробег может отличаться.