Совместное использование Python 3.1 и 2.5

#python #python-3.x #pygame

#python #python-3.x #pygame

Вопрос:

В настоящее время я работаю над окончательным проектом для моего класса программирования. Мы пишем это на Python 3.1, и я создаю графический интерфейс. Руководитель моей команды хочет выполнить весь проект в версии 3.1, но большинство дополнений pyGame (таких как pyConsole) вызывают у меня проблемы с совместимостью.

Итак, мой вопрос в том, могу ли я написать свой интерфейс на 2.5, а затем подключить его к движку, написанному на 3.1? Спасибо за вашу помощь!

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

1. 2.5? Что не так с 26 и 2.7? 🙂

Ответ №1:

Честно говоря, это, вероятно, доставляет больше проблем, чем того стоит.

Лучше всего собраться вместе и составить список дополнений, которые вы, ребята, хотите использовать, и независимо от того, совместимы они с 3.1 или нет. Затем решите, сможете ли вы жить без несовместимых. Если вы не можете, выполните проект в версии 2.5, в противном случае используйте 3.1 и имейте «План Б» для дополнений, которые вы не можете использовать.

Если вы будете осторожны, вы сможете сделать переключение со 2 на 3 относительно безболезненным позже, когда эти дополнения добавят поддержку 3.x.

Если это проект, над которым вы планируете работать долгое время (т. Е. больше, чем просто проект класса), я бы, вероятно, посоветовал использовать 3 и попробовать портировать некоторые дополнения самостоятельно. Но для окончательного проекта класса это, вероятно, не стоит того.

Ответ №2:

Короткий ответ НЕТ.

Более длинный ответ. Вы можете написать свой интерфейс на Python 2.5, а серверную часть — на 3.0, но они вообще не смогут взаимодействовать. Вам нужен какой-то уровень абстракции между ними. Делая что-то подобное, вы можете использовать любой язык на другой стороне.

Уровень абстракции должен был бы извлекать задания, работать над ними и возвращать их в какую-то очередь. Это просто глупый пример, который по ходу работы может стать действительно сложным. В итоге уровень абстракции может стать даже более сложным, чем ваше приложение, предполагая, что это работа для класса.

Я бы послушал Джеремайю и обсудил с профессором преимущества и недостатки Python 2.5 или 3.0. Если вы включите объяснение причин, по которым вы выбираете один из них вместо другого, в свой окончательный вариант, я уверен, что вы получите несколько дополнительных баллов, и он вряд ли оштрафует вас за это.