Один проект Python может использовать и 2.x и 3.x код?

Я собираюсь запустить на длинном (~1-год) проект программирования в Python. Я хочу использовать wxPython для своего GUI (поддерживает 2.6), но я также хочу использовать 3.1 для остальной части проекта (чтобы начать использовать 3.x синтаксис).

Есть ли какой-либо способ для меня разработать проект, который смешивается 2.x и 3.x модули? Или я должен просто стиснуть зубы и использовать любого 2.x (предпочтенный, так как я действительно хочу изучить wxPython), или 3.x повсюду?

Спасибо,

Mike

5
задан MikeRand 1 June 2010 в 17:43
поделиться

3 ответа

Python 2 и 3 не так уж сильно отличаются. Если вы хорошо изучили Python 2, то знакомство с Python 3 займет считанные минуты. Официальная рекомендация гласит, что вам следует использовать Python 2.6 (текущая версия) и стараться быть совместимым с ним. В настоящее время Python 3 не является вариантом для крупных проектов, поскольку практически ни один из популярных пакетов еще не переведен. Но разработка Python 2 и 3 будет продолжаться параллельно в течение длительного времени, поэтому вы не много потеряете, отказавшись от использования Python 3. Вы можете импортировать многие синтаксические особенности 3 (строковые литералы Unicode, деление, функцию print, абсолютный импорт) с помощью модуля __future__, а стандартная библиотека в основном осталась прежней. Поэтому я бы рекомендовал использовать Python 2.

3
ответ дан 13 December 2019 в 22:02
поделиться

Вам следует использовать python 2.7 (релиз-кандидат ожидается в ближайшие дни), который очень близок к python 3.1, а также код, заботящийся о том, чтобы не использовать устаревшие функции. Существует последняя версия wxpython для python 2.7. После того, как wxpython получит сборки 3.1-3.2, преобразование кода не должно быть слишком болезненным. Тем не менее, у wxpython нет сроков перехода :-(

Другой вариант - использовать pyQt, который уже имеет сборки для python 3.1

5
ответ дан 13 December 2019 в 22:02
поделиться

смешивание возможности использования wxPython (2.x) + с изучением нового синтаксиса (3.x)

Не «смешивайте».

Напишите Python 2. Заставьте его работать.

Поиграйте с Python 3 отдельно. Не смешивайте.

Когда в Python 3 доступны различные пакеты и модули, используйте преобразование 2 в 3 для создания Python 3. Вы столкнетесь с небольшими проблемами. Исправьте свой Python 2, чтобы ваш пакет работал в Python 2 и также работал после преобразования.

Затем вы можете отказаться от поддержки Python 2 и сосредоточиться на Python 3.

Не «смешивайте».

2
ответ дан 13 December 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: