Submit Search
Upload
Pythonとパッケージングと私
•
10 likes
•
19,055 views
Atsushi Odagiri
Follow
pyconjp 2017 発表資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
Preferred Networks
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Marp Tutorial
Marp Tutorial
Rui Watanabe
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Recommended
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
Preferred Networks
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Marp Tutorial
Marp Tutorial
Rui Watanabe
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
例外設計における大罪
例外設計における大罪
Takuto Wada
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
sleepy_yoshi
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
論文の図表レイアウト例
論文の図表レイアウト例
Sunao Hara
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
hirokiky
Pycon jp2017 20170908_ota
Pycon jp2017 20170908_ota
博三 太田
More Related Content
What's hot
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
例外設計における大罪
例外設計における大罪
Takuto Wada
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
sleepy_yoshi
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
論文の図表レイアウト例
論文の図表レイアウト例
Sunao Hara
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Hiro H.
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
What's hot
(20)
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Redisの特徴と活用方法について
Redisの特徴と活用方法について
例外設計における大罪
例外設計における大罪
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
分散システムについて語らせてくれ
分散システムについて語らせてくれ
論文の図表レイアウト例
論文の図表レイアウト例
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Viewers also liked
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
hirokiky
Pycon jp2017 20170908_ota
Pycon jp2017 20170908_ota
博三 太田
Introducing wsgi_lineprof / PyCon JP 2017 LT
Introducing wsgi_lineprof / PyCon JP 2017 LT
Yusuke Miyazaki
ドローンのフライトコントローラをPythonで制御してみた話
ドローンのフライトコントローラをPythonで制御してみた話
Lina Katayose
OpenAPIを利用したPythonWebアプリケーション開発
OpenAPIを利用したPythonWebアプリケーション開発
Takuro Wada
Pythonistaで始めるiOSプロトタイプ開発
Pythonistaで始めるiOSプロトタイプ開発
Yusuke Muraoka
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Yoshiaki Shibutani
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
Shinya Okano
PyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta Kitagami
Yuta Kitagami
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
PyconJP2017 Kivyによるアプリケーション開発のすすめ
PyconJP2017 Kivyによるアプリケーション開発のすすめ
Jun Okazaki
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
Pycon2017
Pycon2017
Yuta Kashino
Pythonと機械学習によるWebセキュリティの自動化
Pythonと機械学習によるWebセキュリティの自動化
Isao Takaesu
Viewers also liked
(14)
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
Pycon jp2017 20170908_ota
Pycon jp2017 20170908_ota
Introducing wsgi_lineprof / PyCon JP 2017 LT
Introducing wsgi_lineprof / PyCon JP 2017 LT
ドローンのフライトコントローラをPythonで制御してみた話
ドローンのフライトコントローラをPythonで制御してみた話
OpenAPIを利用したPythonWebアプリケーション開発
OpenAPIを利用したPythonWebアプリケーション開発
Pythonistaで始めるiOSプロトタイプ開発
Pythonistaで始めるiOSプロトタイプ開発
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
PyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta Kitagami
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
PyconJP2017 Kivyによるアプリケーション開発のすすめ
PyconJP2017 Kivyによるアプリケーション開発のすすめ
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Pycon2017
Pycon2017
Pythonと機械学習によるWebセキュリティの自動化
Pythonと機械学習によるWebセキュリティの自動化
Similar to Pythonとパッケージングと私
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
パッケージングの今
パッケージングの今
Atsushi Odagiri
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
Products.PloneOrg
Products.PloneOrg
Takanori Suzuki
PyPI入門2018
PyPI入門2018
Yukino Ikegami
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
Git pyfes201207-presen
Git pyfes201207-presen
Kouhei Maeda
Fabric
Fabric
Joe_noh
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
Nozomu Kaneko
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
NipponAlgorithm
qmake入門
qmake入門
hermit4 Ishida
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
Jubakitの解説
Jubakitの解説
JubatusOfficial
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
Tetsuya Shioda
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
Similar to Pythonとパッケージングと私
(18)
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
パッケージングの今
パッケージングの今
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
Products.PloneOrg
Products.PloneOrg
PyPI入門2018
PyPI入門2018
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
勉強会 Cvml python基礎
勉強会 Cvml python基礎
Git pyfes201207-presen
Git pyfes201207-presen
Fabric
Fabric
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
qmake入門
qmake入門
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Jubakitの解説
Jubakitの解説
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
More from Atsushi Odagiri
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
Atsushi Odagiri
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
Atsushi Odagiri
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Atsushi Odagiri
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
Python3 移行への軌跡
Python3 移行への軌跡
Atsushi Odagiri
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Atsushi Odagiri
Clack meetup #1 lt
Clack meetup #1 lt
Atsushi Odagiri
Pyramid入門
Pyramid入門
Atsushi Odagiri
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
Bplt11 form alchemy
Bplt11 form alchemy
Atsushi Odagiri
Python3でwebアプリ
Python3でwebアプリ
Atsushi Odagiri
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
Atsushi Odagiri
What makes pyramid unique
What makes pyramid unique
Atsushi Odagiri
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
Atsushi Odagiri
World plonedaylt
World plonedaylt
Atsushi Odagiri
Setup.pysetup.cfg
Setup.pysetup.cfg
Atsushi Odagiri
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
More from Atsushi Odagiri
(20)
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
Python3 移行への軌跡
Python3 移行への軌跡
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Clack meetup #1 lt
Clack meetup #1 lt
Pyramid入門
Pyramid入門
パッケージングの今と未来
パッケージングの今と未来
パッケージングの今と未来
パッケージングの今と未来
Bplt11 form alchemy
Bplt11 form alchemy
Python3でwebアプリ
Python3でwebアプリ
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
What makes pyramid unique
What makes pyramid unique
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
World plonedaylt
World plonedaylt
Setup.pysetup.cfg
Setup.pysetup.cfg
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Recently uploaded
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Recently uploaded
(10)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Pythonとパッケージングと私
1.
Preface setup.cfg pyproject.toml
conclusion Pythonとパッケージングと私 Atsushi Odagiri 2017-09-08
2.
Preface setup.cfg pyproject.toml
conclusion お前誰よ • Atsushi Odagiri • Open Collector, Inc. • Repoze/Pylons/Pyramid
3.
Preface setup.cfg pyproject.toml
conclusion パッケージングの基本 • pypi パッケージリポジトリ • pip インストーラー • setuptools/wheel パッケージャー • virtualenv 仮想環境
4.
Preface setup.cfg pyproject.toml
conclusion pypi • pypi.python.org - 現在 • pypi.org - 次バージョン • 徐々に pypi.org ドメインに機能移動
5.
Preface setup.cfg pyproject.toml
conclusion pip • sdist や wheel をリポジトリからダウンロードしてイン ストールなど • インストールされてるパッケージの状況を取得など • pip 9.0.1
6.
Preface setup.cfg pyproject.toml
conclusion setuptools/wheel • setup.py から wheel を作る • setuptools 36.4.0 • wheel 0.29.0
7.
Preface setup.cfg pyproject.toml
conclusion virtualenv • ライブラリのインストール先をプロジェクトごとに 分離 • virtualenv 15.1.0 • pip 9.0.1 • setuptools 28.0.0
8.
Preface setup.cfg pyproject.toml
conclusion pipとvertualenvの使い方 $ virtualenv venv $ . venv/bin/activate (venv)$ pip install -U pip setuptools wheel (venv)$ cat > requirements.txt pyramid ˆD (venv)$ pip install -r requirements.txt (venv)$ pip list –format=columns Package Version ————– ——- Pyramid 1.9
9.
Preface setup.cfg pyproject.toml
conclusion wheelhouseにバンドル (venv)$ pip freeze > constraints.txt (venv)$ mkdir wheelhouse (venv)$ pip wheel -r requirements.txt -c constraints.txt -w wheelhouse -f wheelhouse (venv)$ deactivate $ virtualenv venv2 $ . venv2/bin/activate (venv2)$ pip install -r requirements.txt -c constraints.txt –no-index -f wheelhouse
10.
Preface setup.cfg pyproject.toml
conclusion パッケージを作るには? • setuptools を使う • setup.py を書く • setup.py で bdist_wheel コマンドを実行する • setup.py upload か twine で pypi にアップロードする (事前にアカウント作成必要)
11.
Preface setup.cfg pyproject.toml
conclusion setup.py from setuptools import setup, find_packages import sample setup( name="sample-package", version=sample.version, author="Atsushi Odagiri", author_email="aodagx@gmail.com", description="sample package to use setup.py", long_description=""" """, url="https://aodag.jp/sample-package", license="MIT", packages=find_packages(), )
12.
Preface setup.cfg pyproject.toml
conclusion setup.pyのだめなとこ • 設定と実行コードが混在 • long_description を外部ファイルに書くことが多い • ファイル指定などは提供されてない • みんなそれぞれ setup.py の中でファイルを読み込む処 理を書いてる • パッケージのメタデータとして扱われる項目と setuptools が利用する項目が分かれてない
13.
Preface setup.cfg pyproject.toml
conclusion setup.cfg にパッケージメタデータを書こう • setuptools 30.3.0 から setup.cfg にメタデータを書ける ようになった • metadata セクションと options セクション に書く • ほぼ setup 関数の引数のまま
14.
Preface setup.cfg pyproject.toml
conclusion setup.cfg にメタデータを書いた場合の setup.py from setuptools import setup setup() シンプル!
15.
Preface setup.cfg pyproject.toml
conclusion metadataセクションの主な項目 • name • version • author • author_email • description • long_description • url • lisence • classifiers
16.
Preface setup.cfg pyproject.toml
conclusion 実際のsetup.cfg(metadataセクション) [metadata] name = sample-package version = attr:sample.version author = Atsushi Odagiri author_email = aodagx@gmail.com description = sample package to use setup.cfg long_description = file:README.rst url = https://aodag.jp/sample-package license = MIT
17.
Preface setup.cfg pyproject.toml
conclusion 特殊な項目 • version • 直接書いてもいいが attr: でオブジェクトの内容を利用 できる • callable な場合は評価された結果がバージョンになる • 実行されてしまうので import するだけで副作用が起き るコードは要注意 • long_description • 直接書いてもいいが file: で指定したファイルの内容を 利用できる • 今のところ 1 ファイルしか指定できない
18.
Preface setup.cfg pyproject.toml
conclusion optionsセクションの主な項目 • packages • install_requires • entry_points
19.
Preface setup.cfg pyproject.toml
conclusion options.* なセクション • options.extras_require • options.packages.find
20.
Preface setup.cfg pyproject.toml
conclusion 実際のsetup.cfg(optionsセクション) [options] install_requires = pyramid sqlalchemy jinja2 packages = find: entry_points = file:entry_points.cfg
21.
Preface setup.cfg pyproject.toml
conclusion 実際のsetup.cfg(options.* セクション) [options.extras_require] testing = pytest mysql = pymysql postgres = psycopg2 [options.packages.find] exclude = tests examples
22.
Preface setup.cfg pyproject.toml
conclusion options の特殊な項目 • packages • 自分で全部羅列してもよい • find_packages 相当のことをする場合、 find: とだけ指 定して options.packages でオプション指定する • entry_points • 別途 entry_points を記述したファイルを指定するか options.entry_points セクションで指定する
23.
Preface setup.cfg pyproject.toml
conclusion entry_pointsのファイル [console_scripts] hello = sample:hello
24.
Preface setup.cfg pyproject.toml
conclusion options.entry_points での指定方法 [options.entry_points] console_scripts = hello=sample:hello
25.
Preface setup.cfg pyproject.toml
conclusion pbrとの違い • pbr は setuptools の拡張 • openstack プロジェクトがパッケージングのために作成 した • setup.cfg にメタデータを記述する • その他 git タグによるバージョニングなど • setup.cfg の項目がちょっと違う
26.
Preface setup.cfg pyproject.toml
conclusion バージョンをgitタグから自動で設定したい setuptools_scm を使うと git タグからバージョンを生成で きる setup( name="example", setup_require=["setuptools_scm"], use_scm_version=True, )
27.
Preface setup.cfg pyproject.toml
conclusion setup.cfgでsetuptools_scmを試してみる version = attr:setuptools_scm.get_version • callable を指定すると評価結果がバージョンになる • 実行時に setuptools_scm が入ってないといけない • setuptools_scm が必要だということは setup_requires で指定できるが…
28.
Preface setup.cfg pyproject.toml
conclusion setup.cfg の setup_requires • setup.cfg に書いたのではもう遅い • setup 関数に書くしかない? setup(setup_requires=["setuptools_scm"])
29.
Preface setup.cfg pyproject.toml
conclusion setuptoolsの機能追加や拡張など • setuptools のバージョンが古いと setup.cfg の機能が使 えない • ユーザーの setuptools のバージョンは不確定 • setup_requires のタイミングは微妙 • 結局 setuptools の実装に頼っている部分があまり明確に なってない
30.
Preface setup.cfg pyproject.toml
conclusion build-system • setuptools 以外のビルドツールを指定できる • setuptools を使う場合でも必要な拡張やバージョンを指 定できる
31.
Preface setup.cfg pyproject.toml
conclusion PEP 518 • pyproject.toml でビルドツールを指定する • 存在しなければ今までの setuptools によるビルド
32.
Preface setup.cfg pyproject.toml
conclusion pyproject.toml の形式 ビルドツールに flit を使う場合の例 [build-system] requires = ["flit"] backend = "flit.buildapi"
33.
Preface setup.cfg pyproject.toml
conclusion ビルドツールの実装について • PEP516 • コマンドラインでの実装 • reject されました • PEP517 • API での実装 • 議論中
34.
Preface setup.cfg pyproject.toml
conclusion PEP517で定義されてるAPI • build_wheel • build_sdist • optional get_requires_for_build_wheel • optional prepare_metadata_for_build_wheel • optional get_requires_for_build_sdist
35.
Preface setup.cfg pyproject.toml
conclusion pipのPEP518,PEP517対応 • pyproject.tom の読み込み [PEP518] はマージされている • setup_requires の問題は解決できそう • 隔離された環境での wheel 生成 • まだツールは setuptools 固定 [PEP517 未対応]
36.
Preface setup.cfg pyproject.toml
conclusion flit: setuptools以外のパッケージングツール • flit は setuptools とは別のパッケージングツール • filit.ini でメタデータを書く • シンプル
37.
Preface setup.cfg pyproject.toml
conclusion flit を使うには $ pip install flit $ flit init $ flit wheel
38.
Preface setup.cfg pyproject.toml
conclusion flit の PEP517対応 • toml-config ブランチ • flit.buildapi
39.
Preface setup.cfg pyproject.toml
conclusion flitを使うべきか? • pip の対応ができてないと sdist としてインストールで きない • wheel だけで配布するというのなら今からでも可能 • setuptools 自体も setup.cfg への移行など進んでる • 個人的にはオルタナティブなツールは歓迎だが、使う かっていうと…
40.
Preface setup.cfg pyproject.toml
conclusion 話し足りないこと • プライベートパッケージリポジトリ • Windows での C 拡張 • pip へのコントリビュート • conda2wheel
41.
Preface setup.cfg pyproject.toml
conclusion まとめ • setuptools ちょっとだけ進化 • sdist から wheel を作る流れが PEP で定義される • setuptools 使わなくてもよい未来
Download now