Я перемещаю свое приложение Python от python-2.6 до python 3. Мое приложение было разработано в системе Ubuntu 10.04, имеющей поддержку python 2.6. Теперь я хочу заставить его работать над Ubuntu 14.04 с python 3. Я могу подать заявку Python, полностью независимую от python-2?
Разделите свои взгляды / идеи.
Цените свою справку!!
Спасибо, Mrudula
Можете Вы?Конечно.
Полагайте на мгновение, что Python 2 будет поддерживаемым в 2020 официально и возможно дольше неофициально. Необходимо ли портировать это на Python 3? Вы могли быть ленивыми и 2020-ми, которым позволяют, mrudula, понимают этого.
Я уверен, что Вы знаете, что Python 2 и 3 не непосредственно совместим. Вероятно, необходимо внести несколько изменений в порт между ними. Существуют инструменты как 2to3
(включенный в Ubuntu), которые делают это намного легче — по крайней мере, более автоматизированный — но там вероятны все еще библиотеки, которыми Вы пользуетесь, которые полагаются на Python 2.x, который необходимо будет заменить.
Или можно придерживаться Python 2.7.
Также, который путь, я был посредством того же процесса, как Вы делаете теперь с несколькими маленькими приложениями Django. Самое большое единственное улучшение, которое я могу предложить (если Вы уже не делаете его) должно переместиться в virtualenv ( venv
модуль в Py3k). Хранение вещей, разделенных от системы, позволило большому количеству вытянутых волос вырастать снова.
Я предложил бы следующий маршрут:
Создайте Python 2 virtualenv для Вашего приложения и активируйте его.
sudo apt-get install python-virtualenv
/usr/bin/virtualenv venv
source ./venv/bin/activate
pip install -U pip
Установите любые требования, Вы знаете, что Вам нужно с pip
. При активации virtualenv он установит их локально, нет sudo
необходимый.
requirements.txt
Если Вы довольны Python 2, можно остановиться там. Переместите это на реальный сервер (если это уже не находится на одном), и фиксация Ваш requirements.txt
к управлению версиями, таким образом, можно восстановить среду действительно быстро в будущем, если Вы должны.
Если Вы хотите продолжить к Python 3, путь намного более ясен:
Удалите свой Python 2 virtualenv, создайте Python 3 venv и установите свои требования:
deactivate
/usr/bin/python3 -mvenv venv
pip install -U pip
pip install -Ur requirements
Развязать 2to3
(и другие инструменты) на Вашем источнике и конце порт вручную. Удостоверьтесь, что у Вас есть резервное копирование того, что Вы уже имеете. Это не весьма сложный инструмент (см. 2to3 --help
) но обычно говорящий, этого должно быть достаточно для получения, Вы движение (не забудьте копировать сначала, это запишет изменения):
2to3 -wf all .