Suche senden
Hochladen
eggとはなんだったのか 栄光のsetuptools
•
1 gefällt mir
•
690 views
Atsushi Odagiri
Folgen
Python 2 EOL Party in Tokyo
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 27
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
Pythonとパッケージングと私
Pythonとパッケージングと私
Atsushi Odagiri
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
Easy caching and logging package using annotation in Python
Easy caching and logging package using annotation in Python
Yasunori Horikoshi
パッケージングの今
パッケージングの今
Atsushi Odagiri
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
Empfohlen
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
Pythonとパッケージングと私
Pythonとパッケージングと私
Atsushi Odagiri
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
Easy caching and logging package using annotation in Python
Easy caching and logging package using annotation in Python
Yasunori Horikoshi
パッケージングの今
パッケージングの今
Atsushi Odagiri
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
Distutil setuptools distribute
Distutil setuptools distribute
Atsushi Odagiri
Pycon2014 django performance
Pycon2014 django performance
hirokiky
Puppet入門
Puppet入門
Tomita Akiyoshi
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
Etsuji Nakai
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
kenhys
Python入門
Python入門
Shohei Okada
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
akira6592
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
akira6592
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
ichikaway
Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
akira6592
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
Weitere ähnliche Inhalte
Was ist angesagt?
Distutil setuptools distribute
Distutil setuptools distribute
Atsushi Odagiri
Pycon2014 django performance
Pycon2014 django performance
hirokiky
Puppet入門
Puppet入門
Tomita Akiyoshi
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
Etsuji Nakai
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
kenhys
Python入門
Python入門
Shohei Okada
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
akira6592
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
akira6592
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
ichikaway
Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
akira6592
Was ist angesagt?
(20)
Distutil setuptools distribute
Distutil setuptools distribute
Pycon2014 django performance
Pycon2014 django performance
Puppet入門
Puppet入門
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
パッケージングの今と未来
パッケージングの今と未来
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
Python入門
Python入門
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
Puppetのススメ
Puppetのススメ
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
Python開発環境三種の神器
Python開発環境三種の神器
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ähnlich wie eggとはなんだったのか 栄光のsetuptools
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
Visual studio de debug
Visual studio de debug
Kazushi Kamegawa
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
はじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
Tetsuya Shioda
Jubakitの解説
Jubakitの解説
JubatusOfficial
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
できる!KickstartとAnsible!
できる!KickstartとAnsible!
Wataru NOGUCHI
Personal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
勉強会 環境構築編
勉強会 環境構築編
gikuko gikuko
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
debug-ito
Scoop!
Scoop!
NipponAlgorithm
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
日本マイクロソフト株式会社
クックパッドのスケーリング
クックパッドのスケーリング
Satoshi Takada
Ähnlich wie eggとはなんだったのか 栄光のsetuptools
(20)
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
Visual studio de debug
Visual studio de debug
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
はじめてのCodeIgniter
はじめてのCodeIgniter
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
Jubakitの解説
Jubakitの解説
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
できる!KickstartとAnsible!
できる!KickstartとAnsible!
Personal Cloud Automation
Personal Cloud Automation
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
勉強会 環境構築編
勉強会 環境構築編
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Scoop!
Scoop!
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
クックパッドのスケーリング
クックパッドのスケーリング
Mehr von Atsushi Odagiri
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
Atsushi Odagiri
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Atsushi Odagiri
Python3 移行への軌跡
Python3 移行への軌跡
Atsushi Odagiri
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Atsushi Odagiri
Clack meetup #1 lt
Clack meetup #1 lt
Atsushi Odagiri
Pyramid入門
Pyramid入門
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
Form libraries
Form libraries
Atsushi Odagiri
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミング
Atsushi Odagiri
Form libraries
Form libraries
Atsushi Odagiri
Aodag scaffold
Aodag scaffold
Atsushi Odagiri
Nose 鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Atsushi Odagiri
Json rpc 2_0
Json rpc 2_0
Atsushi Odagiri
Mehr von Atsushi Odagiri
(20)
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Python3 移行への軌跡
Python3 移行への軌跡
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
Form libraries
Form libraries
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミング
Form libraries
Form libraries
Aodag scaffold
Aodag scaffold
Nose 鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Json rpc 2_0
Json rpc 2_0
eggとはなんだったのか 栄光のsetuptools
1.
egg とはなんだったのか 栄光の
setuptools Python 2 EOL Party in Tokyo Atsushi Odagiri February 15, 2020
2.
Outline
3.
egg とはなんだったのか 栄光の
setuptools Agenda setuptools egg
4.
自己紹介 aodag Atsushi Odagiri Open Collector,
Inc.
5.
覚えているでしょうか? http://peak.telecommunity.com/
6.
ez_setup.py http: //peak.telecommunity.com/DevCenter/setuptools setup.py で直接使ったり import ez_setup ez_setup.use_setuptools() from
setuptools import setup コマンド実行したり $ sudo python ez_setup.py
7.
setuptools の構成 setuptools の配布物に含まれるもの setuptools
パッケージ pkg_resources パッケージ easy_install コマンド
8.
setuptools モジュール distutils を拡張する install
や build などの既存コマンドの拡張 install コマンド実行時に依存ライブラリをインストールする upload コマンドで cheeseshop にパッケージをアップロード setup.py 書くのにちょっと便利な関数 find_packages とか
9.
pkg_resources モジュール パッケージ管理のユーティリティ パッケージメタデータ (egg!)
の処理 entry_point などの取得 パッケージ以下のファイルリソースの取り扱い これが pkg_resources の名前の由来だと思う
10.
easy_install コマンド パッケージインストーラー cheeseshop からダウンロード egg
ディレクトリにインストール 依存ライブラリがあればそれもインストール multi-versioning 可能
11.
pip との関係 $ ez_setup.py $
easy_install pip $ pip install virtualenv $ virutalenv .venv $ .venv/bin/pip --version
12.
distribute を覚えていますか? setuptools がメンテされないのでフォークされた 0.6
~ 0.6.49 0.7.x は setuptools との合流用
13.
egg とはなんだったのか? setuptools によって持ち込まれたパッケージング関連の様々 なツールや規約 http: //peak.telecommunity.com/DevCenter/PythonEggs
14.
egg の中身 egg info egg
フォーマット egg ディレクトリ 名前空間パッケージ (pkg_resources.declare_namespace)
15.
egg_info metadata の拡張 entry_point.txt dependencies.txt
16.
egg フォーマットの作り方 $ python
setup.py bdist_egg
17.
egg フォーマットの中身 egg_info メタデータ python
パッケージ
18.
egg フォーマットについて ピュア python
の配布物でも python バージョン固定 バイナリ拡張を含む場合は便利だったかもしれない
19.
egg ディレクトリ site-packages 以下に
egg ごとのディレクトリを作る easy_install.pth に egg ディレクトリを登録する
20.
egg ディレクトリの効用 multi-version mode
バージョン違いのパッケージを site-packages にインストール可能 easy_install -m で easy_install.pth には egg を登録しない 状態 pkg_resources.requres で指定のバージョンの egg を import 可能にする
21.
名前空間パッケージ __import__('pkg_resources').declare_namespace(__name__)
22.
pip は egg
を使わないの? egg フォーマットの配布物をダウンロードすることはな かった sdist から egg_info を使って依存ライブラリを解決するため、 setuptools は必須だった デフォルトでは site-packages ディレクトリ以下で egg ディレ クトリ構成にしないようになっていた
23.
pip が sdist
をインストールするとき setup.py install no-dep とかつけてるはず setup.py bdist_egg egg を site-packages に展開 setup.py bdist_wheel wheel を site-packages に展開 pep517.build wheel を site-packages に展開
24.
egg の後継 1 wheel
フォーマット/PEP517 $ python -m pep517.build metadata 2.1 markdown 使える entry point は egg のままだよ!
25.
egg の後継 1 PEP420
Implicit Namespace Packages ごちゃごちゃやらずにただのディレクトリにすればよくね? virtualenv/venv で egg ディレクトリいらないよね プロジェクトごとに site-packages を切り替えるので multi-verjoning いらない pip は egg ディレクトリを使わずにフラットにインストール する
26.
setuptools はもう要らないのか? C 拡張を扱える 名前空間パッケージを扱える PEP517
に対応している
27.
さよなら python2 setuptools はまだ元気です
Jetzt herunterladen