Você pode? Claro.
Considere por um momento que o Python 2 será suportado em 2020 oficialmente e possivelmente por mais tempo não oficialmente. Você precisa para portar isso para o Python 3? Você pode ser preguiçoso e deixar a mrudula de 2020 descobrir isso.
Tenho certeza de que você sabe que o Python 2 e 3 não são diretamente compatíveis. Você provavelmente terá que fazer algumas alterações na porta entre eles. Existem ferramentas como 2to3
(incluídas no Ubuntu) que facilitam muito o - pelo menos mais automatizado - mas provavelmente ainda estão usando bibliotecas que dependem do Python 2.x que você Preciso substituir.
Ou você pode ficar com o Python 2.7.
De qualquer forma, passei pelo mesmo processo que você está fazendo agora com vários pequenos aplicativos do Django. A maior melhoria que eu posso sugerir (se você ainda não estiver fazendo isso) é mudar para um virtualenv (o módulo venv
no Py3k). Manter as coisas separadas do sistema permitiu que muitos cabelos puxados voltassem a crescer.
Eu sugeriria o seguinte itinerário:
- Instale o 14.04 em outra máquina (VM, qualquer que seja)
-
Crie um virtualenv do Python 2 para o seu aplicativo e ative-o.
sudo apt-get install python-virtualenv /usr/bin/virtualenv venv source ./venv/bin/activate pip install -U pip
-
Instale todos os requisitos que você souber necessários com
pip
. Se você tiver ativado um virtualenv, ele será instalado localmente, sem necessidade desudo
. - Obter coisas funcionando . Este é um processo iterativo de executá-lo até perceber que você está perdendo alguma coisa.
- Quando tiver certeza de que tudo está funcionando e você tiver todos os seus requisitos, descarregue-os (e restrições de versão) em um arquivo chamado
requirements.txt
Se você está feliz com o Python 2, pode parar por aí. Migre isso para um servidor real (se já não estiver em um) e confirme seu controle requirements.txt
para versão para que você possa restaurar seu ambiente muito rapidamente no futuro, se for necessário.
Se você quiser continuar no Python 3, o caminho é muito mais claro:
-
Exclua seu virtualenv do Python 2, crie um venv do 3 do Python e instale seus requisitos:
deactivate /usr/bin/python3 -mvenv venv pip install -U pip pip install -Ur requirements
-
Libere
2to3
(e outras ferramentas) em sua origem e termine a porta manualmente. Certifique-se de ter um backup do que você já tem. Não é uma ferramenta muito complicada (veja2to3 --help
), mas falando normalmente, isso deve ser suficiente para você ir (lembre-se de fazer o backup primeiro, isso irá gravar mudanças):2to3 -wf all .