Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Миграция на Python 3
Search
Pavel Zinovkin
December 20, 2012
Technology
45
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Миграция на Python 3
Moscow Django Meetup № 8
Pavel Zinovkin
December 20, 2012
More Decks by Pavel Zinovkin
See All by Pavel Zinovkin
Редактор Mail.Ru или скорочтение за полчаса
pzinovkin
0
42
Other Decks in Technology
See All in Technology
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
USB PDを使ってスマホを労わりたい
raspython3
0
180
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
Kiro Crewをはじめよう
kizawa2020
1
160
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
590
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Product Roadmaps are Hard
iamctodd
55
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Unsuck your backbone
ammeep
672
58k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Transcript
Миграция на Python 3 Зиновкин Павел Thursday, December 20, 12
Кто я? Thursday, December 20, 12
Я руковожу python-разработкой в Почте Mail.ru Thursday, December 20, 12
Python в Почте, это... • calendar.mail.ru • postmaster.mail.ru • различные
скрипты • <secret>.mail.ru Thursday, December 20, 12
Python - отличный инструмент для нас. Мы используем версию 2.7.3
Thursday, December 20, 12
Python 2.7 is intended to be the last major release
in the 2.x series. Thursday, December 20, 12
29-го сентября был релиз Python 3.3 Thursday, December 20, 12
Python 3 • GIL стал лучше • Все строки теперь
unicode • print теперь функция • Улучшения в стандартной библиотеке Thursday, December 20, 12
PEP-393 Cтроки потребляют меньше памяти (в 2-4 раза меньше) Thursday,
December 20, 12
Часть из этого уже доступно в 2.6, 2.7 docs.python.org/3/whatsnew/index.html Thursday,
December 20, 12
На pypi более 1400 пакетов для Python 3 Thursday, December
20, 12
Даже Django 1.5 будет поддерживать Python 3 (“экспериментально”) Thursday, December
20, 12
We're like a bunch of penguins crowded at the edge
of the ice waiting to see if the first few to dive in get eaten by a sea lion or not. ... I have to choose the productivity of full library support over engineering joy. news.ycombinator.com/item?id=2543087 Thursday, December 20, 12
Возможно, все не так плохо. Проверим на чем-то простом. Thursday,
December 20, 12
Thursday, December 20, 12
postmaster.mail.ru • mysql • tarantool • memcached • rabbitmq Thursday,
December 20, 12
postmaster.mail.ru tarantool Django pylibmc celery requests MySQL-python raven django-celery Thursday,
December 20, 12
Как портировать? Thursday, December 20, 12
Для начала надо понять как это запускать в бою. Thursday,
December 20, 12
Мы используем python и uwsgi из rpm (deb тоже подойдет)
Thursday, December 20, 12
Нативные пакеты это здорово: • yum install postmaster • не
надо учить админов • pypi не умрет посреди раскладки • можем ставить нужный Python Thursday, December 20, 12
Библиотеки Thursday, December 20, 12
создаем virtualenv (python3.3) pip install -r requirements.txt Thursday, December 20,
12
DLL-Hell Thursday, December 20, 12
mysqldb -> pymysql3 + monkeypatch pylibmc -> python3-memcached сломан django_nose,
kombu портирован tarantool django-celery не работает с django 1.5! Thursday, December 20, 12
Портирование кода предельно просто Thursday, December 20, 12
./manage.py test hint: особое внимание строкам и преобразованиям unicode <->
utf-8 Thursday, December 20, 12
Заодно можно порефакторить Thursday, December 20, 12
Отломан celery Плохие тесты Но оно таки заработало! Thursday, December
20, 12
Ситуация с библиотеками не позволяет использовать Python 3 Thursday, December
20, 12
Однако переход состоится (django 1.5, celery, psycopg2, matplotlib, numpy, ipython)
Thursday, December 20, 12
И каждый из нас может внести в это свой вклад
docs.python.org/3/howto/pyporting.html Thursday, December 20, 12
Вопросы? Thursday, December 20, 12