Upload
Download free for 30 days
Login
Submit Search
pyconjp 2019 LT 今日のsetuptools
2 likes
6,016 views
Atsushi Odagiri
飛び込みLT
Software
Read more
1 of 18
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
More Related Content
PDF
Slide rhino+gh 03
hiroshimadesignlab
PDF
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
PDF
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
PDF
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
PDF
Pythonとパッケージングと私
Atsushi Odagiri
PDF
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
PDF
パッケージングの今
Atsushi Odagiri
PDF
async/await の向こう側 PyCon Kyushu 2022
Atsushi Odagiri
Slide rhino+gh 03
hiroshimadesignlab
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
Pythonとパッケージングと私
Atsushi Odagiri
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
パッケージングの今
Atsushi Odagiri
async/await の向こう側 PyCon Kyushu 2022
Atsushi Odagiri
More from Atsushi Odagiri
(20)
PDF
eggとはなんだったのか 栄光のsetuptools
Atsushi Odagiri
PDF
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
PDF
Python3 移行への軌跡
Atsushi Odagiri
PDF
Sqlalchemy sqlの錬金術
Atsushi Odagiri
PPTX
Clack meetup #1 lt
Atsushi Odagiri
PDF
Pyramid入門
Atsushi Odagiri
PDF
パッケージングの今と未来
Atsushi Odagiri
PDF
パッケージングの今と未来
Atsushi Odagiri
PDF
Bplt11 form alchemy
Atsushi Odagiri
PDF
Python3でwebアプリ
Atsushi Odagiri
PDF
Pyconjp2012 memory-of-europython
Atsushi Odagiri
PDF
What makes pyramid unique
Atsushi Odagiri
PDF
エキPy lt repoze.whoの紹介
Atsushi Odagiri
PDF
World plonedaylt
Atsushi Odagiri
PDF
Setup.pysetup.cfg
Atsushi Odagiri
PDF
BPStudy#54 そろそろPython3
Atsushi Odagiri
PDF
Form libraries
Atsushi Odagiri
PDF
フレームワークなしでWSGIプログラミング
Atsushi Odagiri
PDF
Form libraries
Atsushi Odagiri
PDF
Aodag scaffold
Atsushi Odagiri
eggとはなんだったのか 栄光のsetuptools
Atsushi Odagiri
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
Python3 移行への軌跡
Atsushi Odagiri
Sqlalchemy sqlの錬金術
Atsushi Odagiri
Clack meetup #1 lt
Atsushi Odagiri
Pyramid入門
Atsushi Odagiri
パッケージングの今と未来
Atsushi Odagiri
パッケージングの今と未来
Atsushi Odagiri
Bplt11 form alchemy
Atsushi Odagiri
Python3でwebアプリ
Atsushi Odagiri
Pyconjp2012 memory-of-europython
Atsushi Odagiri
What makes pyramid unique
Atsushi Odagiri
エキPy lt repoze.whoの紹介
Atsushi Odagiri
World plonedaylt
Atsushi Odagiri
Setup.pysetup.cfg
Atsushi Odagiri
BPStudy#54 そろそろPython3
Atsushi Odagiri
Form libraries
Atsushi Odagiri
フレームワークなしでWSGIプログラミング
Atsushi Odagiri
Form libraries
Atsushi Odagiri
Aodag scaffold
Atsushi Odagiri
Ad
pyconjp 2019 LT 今日のsetuptools
1.
今日の setuptools pycon jp
2019 LT Atsushi Odagiri September 16, 2019
2.
Outline パッケージングにまつわるエトセトラ PEP517,581 各種ツールの対応 まとめ
3.
おまえだれよ aodag: Atsushi Odagiri 株式会社オープンコレクター pylonsproject.jp
4.
今日の setuptools 2018.9.21 40.4.2 2017.9.15
36.5.0 2016.9.20 27.3.0 2015.9.19 18.3.2 2014.9.27 6.0
5.
今日の setuptools 2019.8.21 41.2.0 2018.9.21
40.4.2 2017.9.15 36.5.0 2016.9.20 27.3.0 2015.9.19 18.3.2 2014.9.27 6.0
6.
PEP517,518 の意義 setuptools と
pip の組み合わせで実質成り立っていたフロー の整理 他ツールとの整合性
7.
これまでの sdist setup.py を持ってるもの pip
が setup.py bdist_wheel を実行してできあがったも のを site-packages に展開
8.
PEP 517 –
A build-system independent format for source trees インストーラ (pip など)sdist を wheel に変換するためのフ ロー pyproject.toml の build-system セクションの設定に基づ いて wheel をビルド build-system.requires のツールをインストール build-system.backend の API を実行 ビルドした wheel を site-packages に展開
9.
PEP 518 –
Specifying Minimum Build System Requirements for Python Projects pyproject.toml の定義 tool セクション以下を自由に使える
10.
pyproject.toml の例 [build-system] requires =
["poetry >= 0.12, <1"] build-backend = "poetry.masonry.api" [tool.poetry] name = "package_toml_poetry" version = "0.1.0" description = "" authors = ["Name <email@email.com>"]
11.
pip の対応 pip 19.0
以降で PEP517 準拠の sdist をインストール可能 pyproject.toml がなければ setuptools 由来のインストー ル方法
12.
pip パッケージインストーラとしてほぼ唯一無二の存在 pipenv や poetry
も裏では pip を実行する
13.
setuptools の対応 pyproject.toml があれば
setup.py なくてもよい setuptools.build_meta がビルドバックエンド フォールバック先なので書かなくてもこれになる 結果的に空の pyproject.toml を置くだけで setup.py 不要 になる パッケージメタデータは setup.cfg に記述する
14.
setuptools なんだかんだで標準実装 名前空間パッケージや C 拡張モジュールなど
setuptools じゃ ないと対応していないものも多い
15.
poetry の対応 poetry.masonry.api が
build-backend パッケージメタデータは pyproject.toml の tool.poetry セクション以下に記述
16.
poetry 期待の新星? venv を管理したり pip
をラップしていたり、単なるパッケー ジャー以上の包括的な機能
17.
tox の対応 isolated_build を設定すると
PEP517 のフローでテスト環 境にインストール skipsdist してる人たちには関係ない [tox] skipsdist = false isolated_build = true
18.
まとめ 各種ツールが PEP517,518 対応してきた PEP517,518
が明確に定義され、新しいツールが進出するよ うに poetry, flit… でも複雑なパッケージはやっぱ setuptools じゃないとだめ 名前空間パッケージ C 拡張モジュール
Download