PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
-
Upload
takayuki-shimizukawa -
Category
Technology
-
view
551 -
download
4
Transcript of PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2 の読みどころ紹介Python 開発の過去と現在
株式会社
清水川貴之
BPStudy #93
おまえ誰よ
@shimizukawa
BePROUD co, ltd.
Sphinx 共同メンテナ
Sphinx-users.jp 運営
一般社団法人 PyCon JP 理事2/26
http://pycon.jp/
3/26
チケット販売(早期割り引き) : 210 枚まで
スピーカー応募( CfP ) : 7月 15日まで
4/26
http://pycon.jp/
アジェンダ
なぜ Python プロフェッショナルプログラミングの第 2 版を書いたのか
PyPro1 以降の開発環境の変化
PyPro2 の読みどころ
Python2 と Python3 どっちを使うべきか
Python の今後はどうなる?
5/26
なぜ Pythonプロフェッショナルプログラミングの第 2版を書いたのか
6/26
全ての始まり
Python の環境でどう開発していくかについて書かれた本
英語版が2008年刊行日本語版が 2010 年刊行2011 年頃には「環境」につ
いて扱っている部分の内容が古くなりつつあったTrac, Buildbot, buildout, …
エキスパート Python プログラミング2010, アスキー・メディアワークス刊
7/26
第 1 版 2012 年刊行
新入社員に読んでもらいたい本として社内のノウハウを集めた本
社内で聞かれたら、それ PyProに書いてあるヨ、と言える
Python そのものより、 Python で開発するために必要なノウハウ(環境系)が多い生まれた瞬間から情報が古くなっ
ていく運命
Python プロフェッショナルプログラミング2012, 秀和システム刊
8/26
第 2 版 2015 年刊行
2014年頃には PyPro 1について、「その部分はもう古いので・・」という説明をする事が社内で多くなっていた
書き直すときのテーマ新しい内容への更新変わりにくい情報への置き換え理想よりも実際にやっているこ
とを書く
Python プロフェッショナルプログラミング第 2 版
2015, 秀和システム刊
9/26
電子書籍版、出ました (2015/5/22)
電子書籍版は以下の電子書籍ストアで購入できます。
Amazon.co.jp (Kindle)楽天ブックス (kobo) BookLive! (BookLive!Reader)honto 電子書籍ストア (EPUB)BOOK WALKER☆
(BOOK WALKER☆ アプリ )紀伊國屋書店 (Kinoppy)セブンネットショッピング
(EPUB3.0)
10/26
PyPro1以降の開発環境の変化
11/26
PyPro1 以降の開発環境の変化pip がだいぶ良いツールになってきた (py279 同梱 )setuptools を意識する世界は終わりつつあるwheel が登場、 egg は徐々にフェードアウトDjango が標準で migrate を装備、 south は終了
へ
Skype が Slack に置き換わったチケットテンプレートを活用
本書で扱っています!
12/26
PyPro2の読みどころ
13/26
3 章 . Python プロジェクトの構成とパッケージ作成
03-01 Python プロジェクト03-02 環境とツール (pip, virtualenv)03-03 ファイル構成とパッケージリリース
03-03-01 setup.py を書く03-03-02 ゲストブックのプロジェクト構成03-03-03 setup.py と MANIFEST.in: パッケージ情報と同梱する
ファイルの設定03-03-04 setup.py: 実行コマンドの作成03-03-05 python setup.py sdist: ソース配布パッケージを作る03-03-06 リポジトリにコミットする03-03-07 README.rst: 開発環境セットアップ手順03-03-08 依存パッケージを変更する03-03-09 requirements.txt で開発バージョンを固定する03-03-10 python setup.py bdist_wheel: wheel 配布パッケージを
作る03-03-11 PyPI にアップロードして公開する
14/26
9 章 . Python パッケージングと運用への活用
09-01 パッケージを使う09-01-01 パッケージのバージョン指定09-01-02 PyPI 以外のサーバーからのインストール09-01-03 パッケージの配布形式09-01-04 wheelhouse の作り方09-01-05 wheelhouse からインストール
09-02 パッケージを活用する09-02-01 プライベートリリース09-02-02 requirements.txt を活用する09-02-03 requirements.txt の階層化09-02-04 デプロイや CI + tox のための requirements09-02-05 requirements.txt でライブラリのバージョンを指定
する
15/26
11 章 . 環境構築とデプロイの自動化11-01 環境構築内容の検討
11-01-01 ネットワーク構成11-01-02 サーバー構築内容の構造化11-01-03 ユーザーの設定11-01-04 パッケージの選定11-01-05 ミドルウェアの設定11-01-06 デプロイ
11-02 Ansible で作業を自動化する11-02-01 Ansible とは11-02-02 ファイル構成11-02-03 Ansible の実行11-02-04 最初に検討した構成との対応づけ11-02-05 各手順を Ansible 化する11-02-06 Ansible 実行環境の整備
16/26
その他更新多数全体的に現在のバージョン、一般的な作法に合わせて書き直しました。また、 BP の社内標準の現状にあわせて更新しています。
Ubuntu 14.04, Python 2.7.6 をベースに更新しましたdistribute と setuptools は紹介から消して pip だけにしましたエディタの比較紹介を追加しました : Vim, Emacs, PyCharmHTML が出てくるところは HTML5 で書き直しましたTrac の説明はなくなって Redmine だけになりましたSkype の説明はなくなって Slack になりましたチケットテンプレートで運用している話を追記しました testfixtures の紹介を追加し、 nose から pytest に変更しましたSphinx は 1.3 に更新しましたDjango は 1.7 を扱っていて、 south から Django migration に書き直されました
chardet, feedparser の紹介を削除し、 requests の紹介を追加しました
17/26
Python2と Python3 どっちを使うべきか
18/26
Python2 と Python3 どっちを使うべきか
仕事において既存のコードがあるならそのバージョンで。
新しく始めるなら3 .x で。2020 年には Py2 は終了これから開発したコードが何年使われるかから考え
ようPy3対応していないコードは少なくなりつつあるそれでも Py3対応してないコードは自力で修正しよ
うだいぶ少なくなってきているいま Py3対応してないコードはそもそもメンテナン
スされていない可能性がたかい -> 安心して使えないかも?
Ansible等のツールは Py2 でいいじゃない
19/26
Pythonの今後はどうなる?
20/26
Python の今後はどうなる?みなさん、どうなると思いますか?
21/26
おまけ
22/26
今回の執筆関係者
以下のメンバーにて制作しました。
11 人の執筆者12名の社外レビューアー7名の社内レビューアー編集さんと組版担当者さん
総勢 32名!
23/26
32名を支えた PyPro2執筆システム構成
Sphinx原稿
SCM(Mercurial)
reST
make html
執筆
確認
レビューSpreadsheet でレビュー指摘
通知
make shuwa 校正
差分をもらう予定
通知
24/26
Questions & Answers
25/26
Thanks :)
26/26