Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GAE/Python2 to Python3 Migration Journey

GAE/Python2 to Python3 Migration Journey

Akira Yumiyama

August 28, 2020
Tweet

More Decks by Akira Yumiyama

Other Decks in Technology

Transcript

  1.  Ɣ +"9"࿋࿕៼࿁បᠨᇳଙបᠨଉଘ ૶଑ై᷾૾ṓରକଘ൶ᐶ Ɣ ࿋࿕᷻ᜲଠᚨ༂ଙ໰କ଑ᣦỿୄ ᔲ૽ଉଘોᝢଝಃಱ૴ଽ୧୩୶ ஐଠ࿚ᚨଝ፱ᓛଙ෪଼ᣣଲ Ɣ ୧୩୶ஐ୷୦୔ணଠஅஜ஬ஐ

    ட஬ୟ૖୧୩୶ஏணୠ૗ୄቾ๞ ଉોಃಱ૴ଽ୧୩୶ஐଠᑑᢀଝ ᯟ଴૾෪଼ᣣଲଅଚଠଙ૿ଽ௬ ᛭ୄ᝕ቁଉଘ૶ଽ Ꮠუ౓័ஜத୓
  2. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE ୒୨ୗண୰ Ɣ ᦴጳ ż ៺ᴟଠ୧୩୶ஐଠᙡᔏ Ɣ ᠇ᬻஇ஝୨ୗୟ୸ଠᇩᛸୄᓴଳଽ ż ᠇ᬻଙ౧ୄ᝕ቁଋ૽ῠ୤஬஛᮱࿖ῡ

    ż ଏଠ୤஬஛ଝଛଠ଺૸ଝᳯ଼ᝫଁ૽ Ɣ ᠇ᬻஇ஝୨ୗୟ୸ଙ࿚Აଉଘ૿଑ଅଚ ż ᷻ᜲଉଶଋ૶஫༷ፕଉଶଋ૶୧୩୶ஐୄ౬ଽ଑ଳଠሐ᱗ ż ࿍ഋଝ࿍ᄮଉଘ᠇ᬻଋଽ଑ଳଠ఻ᣣ଱ଗଁ଼ Ɣ ରଚଳ 
  3. 

  4. EPDTUSJOHଙໜୄቁ࿖ଉ଑଼ >G<NNJHH@IO@<>ODJIŸJ=E@>O ˆ ?@A­­DIDO­­ŸN@GA†>JHH@IO­F@T†M@<>ODJIN ˆ ¯¯¯ MBNˆ >JHH@IO­F@TŸ>JHHJI‰?JH<DI‰Q<GP@‰F@T‰@T ˆ M@<>ODJINŸGDNOJA>JHHPID><ODJI‰?JH<DI‰Q<GP@‰M@<>ODJI‰JHH@IO@<>ODJI

    ˆ ¯¯¯ N@GA‰­>JHH@IO­F@TÓ>JHH@IO­F@T N@GA‰­KMJE@>O­F@TÓ>JHH@IO­F@T‰K<M@IOŸ N@GA‰­M@<>ODJI­NPHH<MD@NÓ£¤ ?@A<??­M@<>ODJIŸN@GA†M@<>ODJI ˆ ¯¯¯ MBNˆ M@<>ODJIŸ>JHHPID><ODJI‰?JH<DI‰Q<GP@‰M@<>ODJI‰JHH@IO@<>ODJI ˆ ¯¯¯ 
  5. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOF௬ూଝ଺ଽୣண୫இ୸ଠᴠ૶ %TT)RKMRI 'PSYH7(/ 'PSYH8EWOW 'PSYH 7GLIHYPIV &NQWF 'CVCUVQTG 0SKKMRK

    ୒இசୡ஬୧஗ண᷻ᜲଝ ಉ൙ଜᑺᧄଡഋᵄഊ଼ ("&ᙘ፡ଠ᷻ᜲ୩୯୔஛ ("&1ZUIPO ᡜక௬ూ OEHFO ("&1ZUIPO ᡜ௟௬ూ TUHFO ୒இசୡ஬୧஗ண᷻ᜲଝ ᄰᮉଜᑺᧄୄᨅ൏ଙᴬሕ ௟ᨛ᜷ଜ8FC୒இசଠ ᷻ᜲ୩୯୔஛ 
  6. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOFᡜ௟௬ూ૽଻ᡜక௬ూପଠ୞ஓ୳இ ("&1ZUIPO ᡜ௟௬ూ ᮓᘃ ("&1ZUIPO ᡜక௬ూ ἙᑺᧄଜOEC૾൙ᛟ෺ᧄ 03எ୳஁஬ ჾጤଡ

    ፯சச஬୩ ଝ(" UBTLRVFVFଚଉଘᣰฅ ୘ஏகஜ஬୯፡଼ ṻฉ፫୯୩ୟ $MPVE5BTLT ୘ஏகஜ஬୯ᘏଉ ഑፡ໜNFNDBDIFE૾ ൙ᛟ෺ᧄ ᘏዬ ଢ଼ஓ୳୧க ခ፡3FEJTୄ൙ᛟ ፡ዬ #MPCTUPSF *NBHF"1* ଚଉଘቾಀ அ୑୔஛ᡷᚫ ᛨ೛ச୥୔୪ ቾಀଜଉ "QQ&OHJOF4%, 4%, (PPHMF$MPVE4%, 
  7. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE ୧୩୶ஐ᠇ᬻଠῪଖଠ୒இ஝஬ୱ ૴ଽጤᘃଙ ୒இசୡ஬୧஗ணഋ౦ୄ ௟ስଙ൐଼፝ૺଽ ഋṽ൐଼፝ૺ Ɣ ௱ᬻ᠗ඐଠ଑ଳଠ఻ᣣ଱ଗଁ଼ ૾௧ᮉ ż

    ୧୩୶ஐᑑᇡଡ୧ணஇ஛ Ɣ ഋṽ൐፝ଠ୯୔ஏணୠରଙଝો ጃྺ୧୩୶ஐୄഋଘ౬଼᝗ଋᄰ ᮉ૾૴ଽ ż ᑺᏸ᜷ଝ༷ኁଙ૿ଽଜ଻ଢ ࿚ᚨ෺ᧄᅌଡἙ૶ ż ᱺଠ"1*ୄᇸඐଙ௟Ⴜ ଝ౬଼༷ૺଽଠଡṟଉ૶ 
  8. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE ୧୩୶ஐ᠇ᬻଠῪଖଠ୒இ஝஬ୱ ୒இசୡ஬୧஗ணଠዶጆ ௰ዷୄ௱ᬻ᠗ඐଉଜ૾଻ Ạᒛ൐଼፝ૺଘ૶ଁ ௱ᬻ᠗ඐ Ɣ ௱ᬻ᠗ඐଠ଑ଳଠ఻ᣣ଱ଗଁ଼ ૾ᄰᮉ ż

    ୧୩୶ஐᑑᇡଡ᭲ṙଝଜଽ Ɣ ፞ൖଠ൐፝୯୔ஏணୠଠጤᘃଙ ଡો୧୩୶ஐଠ௟ᵄ൏଒ଃ᠇ᬻ ଙ૿ଘ૶ାଢ0, ż ဍଉଌଖᯆᬻᶾᯛଉଜ૾଻ ࿚᭢஫᠇ᬻୄᴓଳ଻ାଽ 
  9. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOF௬ూଝ଺ଽୣண୫இ୸ଠᴠ૶ %TT)RKMRI 'PSYH7(/ 'PSYH8EWOW 'PSYH 7GLIHYPIV &NQWF 'CVCUVQTG 0SKKMRK

    ୒இசୡ஬୧஗ண᷻ᜲଝ ಉ൙ଜᑺᧄଡഋᵄഊ଼ ("&ᙘ፡ଠ᷻ᜲ୩୯୔஛ ("&1ZUIPO ᡜక௬ూ OEHFO ("&1ZUIPO ᡜ௟௬ూ TUHFO ୒இசୡ஬୧஗ண᷻ᜲଝ ᄰᮉଜᑺᧄୄᨅ൏ଙᴬሕ ௟ᨛ᜷ଜ8FC୒இசଠ ᷻ᜲ୩୯୔஛ 
  10. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOF௬ూଝ଺ଽୣண୫இ୸ଠᴠ૶ %TT)RKMRI 'PSYH7(/ 'PSYH8EWOW 'PSYH 7GLIHYPIV &NQWF 'CVCUVQTG 0SKKMRK

    ୒இசୡ஬୧஗ண᷻ᜲଝ ಉ൙ଜᑺᧄଡഋᵄഊ଼ ("&ᙘ፡ଠ᷻ᜲ୩୯୔஛ ("&1ZUIPO ᡜక௬ూ OEHFO ("&1ZUIPO ᡜ௟௬ూ TUHFO ୒இசୡ஬୧஗ண᷻ᜲଝ ᄰᮉଜᑺᧄୄᨅ൏ଙᴬሕ ௟ᨛ᜷ଜ8FC୒இசଠ ᷻ᜲ୩୯୔஛  ಉ൙ଜᑺᧄୄ౶૶଑૶Ῑ
  11. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOFᡜ௟௬ూ૽଻ᡜక௬ూପଠ୞ஓ୳இ ("&1ZUIPO ᡜ௟௬ూ ᮓᘃ ("&1ZUIPO ᡜక௬ూ ἙᑺᧄଜOEC૾൙ᛟ෺ᧄ 03எ୳஁஬ ჾጤଡ

    ፯சச஬୩ ଝ(" UBTLRVFVFଚଉଘᣰฅ ୘ஏகஜ஬୯፡଼ ṻฉ፫୯୩ୟ $MPVE5BTLT ୘ஏகஜ஬୯ᘏଉ ഑፡ໜNFNDBDIFE૾ ൙ᛟ෺ᧄ ᘏዬ ଢ଼ஓ୳୧க ခ፡3FEJTୄ൙ᛟ ፡ዬ #MPCTUPSF *NBHF"1* ଚଉଘቾಀ அ୑୔஛ᡷᚫ ᛨ೛ச୥୔୪ ቾಀଜଉ "QQ&OHJOF4%, 4%, (PPHMF$MPVE4%, 03.ોṻฉ፫୯୩ୟୄ௴ᄮଝ ୞ஓ୳இୄ໦ଳଽ఻ᣣ଱౬଼ 
  12. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE ௱ᬻ᠗ඐୄ࿚ᚨଋଽ଑ଳଠ୒஬ଢ଼୶ୟୱஓ (&5 ("& 1ZUIPO %BUBTUPSF ("& 1ZUIPO (&5BQJ ዶጆ୒இச૽଻୷஬୯ୄ

    ᝘ఘ൙ᛟଙ૿ଽ଺૸ଝ ᠇ᬻᕩ଱ଠᙘ࿖ଠ63-ଝଖ૶ଘો ዶ୒இசଝச஀஬୩இ஝ଢ଼୧ଋଽ 
  13. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE ౶૶ඓᇸଠᨭ૶ச஀஬୩இ஝ଢ଼୧ >G<NN @GGJ <I?G@MŸ<N@ <I?G@M ˆ °M@Q@MN@­KMJST ?@AB@OŸN@GA ˆ

    M<DN@JO HKG@H@IO@?MMJMŸ ୿ண୹ங஬සౡଙச஀஬୩இ஝ଢ଼୧ ᮱࿖ୄᴧᛟଋଽ୷ୣஜ஬୯ୄᛟᆜ  Ɣ ᮱࿖ଝ໱ଗ૶ଘச஀஬୩இ஝ଢ଼୧೿ୄ൐଼፝ૺଽો ச஀஬୩இ஝ଢ଼୧ଠ0/0''൐଼፝ૺ Ɣ $PPLJFଶୟ୘ச஁ங஑஬୯ଙ᮱࿖༷ፕଙ૿ଽ
  14. 

  15. 

  16. 

  17. $PQZSJHIUMFWJJ*OD"MMSJHIUTSFTFSWFE (PPHMF"QQ&OHJOF௬ూଝ଺ଽୣண୫இ୸ଠᴠ૶ %TT)RKMRI 'PSYH7(/ 'PSYH8EWOW 'PSYH 7GLIHYPIV &NQWF 'CVCUVQTG 0SKKMRK

    ୒இசୡ஬୧஗ண᷻ᜲଝ ಉ൙ଜᑺᧄଡഋᵄഊ଼ ("&ᙘ፡ଠ᷻ᜲ୩୯୔஛ ("&1ZUIPO ᡜక௬ూ OEHFO ("&1ZUIPO ᡜ௟௬ూ TUHFO ୒இசୡ஬୧஗ண᷻ᜲଝ ᄰᮉଜᑺᧄୄᨅ൏ଙᴬሕ ௟ᨛ᜷ଜ8FC୒இசଠ ᷻ᜲ୩୯୔஛