Prelazak sa Python 2.7 na Python 3.4 interpreter

Kako u razvoju tako i u produkciji je preporučljivo koristiti virtualenv. Počev od Python verzije 3 su uključeni i venv i pip u sam python, tako da sve treba da radi kao sat i bez problema, osim što ne :)

Jedna od divnih stvari koje Python 3 donosi je konačno dostojanstveno rukovanje unicode stringovima bez da razmišljaš o prevođenju, enkodovanju ili dekodovanju glupavih stringova kako bi mogao da ih pišem, čitam i/ili izvozim.

Potrebno je obratiti pažnju na sledeće stvari


  1. Prelazak ne znači da će sav kôd automatski da radi. Postoje sitne promene koje su posoljene svuda po programu i biće ih solidno nezgodno sve pronaći i izmeniti.
  2. Može da se desi da migracija krene po zlu. Za svaki slučaj nemoj brisati stari venv. To je rezerva da se vrneš na nešto što znaš da radi (i dalje).
  3. Instaliraj Python 3. Siguran sam da postoji puno načina na internetu kako to da uradiš. Ne sećam se tačno kako sam ga ja instalirao.
  4. Kreiraj novo okruženje koristeći komandu:
    • virtualenv ./env3.4 -p python3.4  
    • važno je da se navede eksplicitna Python verzija kako bi se pip sigurno instalirao u venv
  5. Aktiviraj okruženje: source ./env3.4/bin/activate
  6. Instaliraj sve po spisku: pip install -r requirements.txt
  7. Može da se desi da su stari .pyc fajlovi još uvek tu i novi interpreter ne može da se snađe s njima. U tom slučaju je potrebno samo sve ih obrisati i gotovo.
    • find . -name '*.pyc' -delete
  8. ...
  9. Profitiraj! :)
Posle migracije okruženja potrebno je još migrirati bazu podataka i Django je spreman da ponovo zapleše u novom ruhu :)


Коментари

Популарни постови