SlideShare a Scribd company logo
PyPI 入門 2018
5分サイズ
2018/10/08
Yukino Ikegami
PyLadies Tokyo 4th Anniversary party
PyPI (パイピーアイ) とは
• https://pypi.org/
• Python Package Indexの略
• Pythonパッケージを管理するためのサイト/リポジトリ
• pip install *** の *** を置いてるところ
Pythonパッケージ公開までの手順
1. PyPIのアカウント作成
– https://pypi.org/account/register/
2. setup.pyを書く
3. 開発
4. PyPIに登録/アップロード
setup.pyを書く
setup.pyに書くこと
1. まずsetuptoolsをimport
– distutilsはオワコン
2. setuptools.setupメソッドにPyPIに登録する情報
を渡す
• 有名パッケージのsetup.pyを参考にするといい
最低限setup.pyに書くこと
• name…………………パッケージの名前
• version………………パッケージのバージョン
• description…………パッケージの短い説明
• long_description….パッケージの長い説明
• author………………作者
• packages……………パッケージのパス
• license………………パッケージのライセンス
• install_requires…...依存パッケージのリスト
Setup.pyのlong_descriptionに
書いたほうがいいこと
• パッケージの使い方
• バージョンごとの変更点
• reStructuredText フォーマットで書く
– setup.pyに
long_description_content_type=”text/markdown”,
と追加すればMarkdown形式が可能に!
PyPIに登録/アップロード
1. Twineのインストール
– pip install twine
2. パッケージのビルド
3. パッケージのアップロード
パッケージのビルド
• ソースコードのビルド
– python setup.py sdist
• Wheelのビルド
– pip install wheel
– python setup.py bdist_wheel
• 成果物はdistディレクトリにできる
パッケージのアップロード
• twine upload dist/*
• これだけ!
まとめ
• Pythonパッケージの公開は簡単にできる!
– 細かい罠があるけど… (今回は触れない)
参考
• PyPIデビュー2015
• Python: Twine を使って PyPI にパッケージを
アップロードする - CUBE SUGAR CONTAINER
• 新しいPyPIでMarkdownのドキュメントを使う –
Aki Ariga – Medium

More Related Content

PDF
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
Fuminobu Takeyama
 
PPTX
Hannari python#27
hiroya akita
 
PDF
パッケージングの今
Atsushi Odagiri
 
PDF
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 
PDF
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
 
PPTX
Introduction to Python 3.4 as of beta 1
Toru Furukawa
 
PDF
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
 
PDF
S03 t1 python_learningdiary#3
Takeshi Akutsu
 
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
Fuminobu Takeyama
 
Hannari python#27
hiroya akita
 
パッケージングの今
Atsushi Odagiri
 
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
 
Introduction to Python 3.4 as of beta 1
Toru Furukawa
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
 
S03 t1 python_learningdiary#3
Takeshi Akutsu
 

More from Yukino Ikegami (8)

PPTX
出会って5行でディープラーニング推論
Yukino Ikegami
 
PPTX
続・本当にあった怖い話 クローラ編
Yukino Ikegami
 
PPT
本当にあった怖い話 「Hadoopで炎上しかけた話」
Yukino Ikegami
 
PPTX
テキスト前処理用Pythonモジュールneologdnの紹介
Yukino Ikegami
 
PPTX
Pythonで機械学習を自動化 auto sklearn
Yukino Ikegami
 
PPTX
Modeless Japanese Input Method
Yukino Ikegami
 
PPTX
Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...
Yukino Ikegami
 
PPTX
Topic and Opinion Classification based Information Credibility Analysis on Tw...
Yukino Ikegami
 
出会って5行でディープラーニング推論
Yukino Ikegami
 
続・本当にあった怖い話 クローラ編
Yukino Ikegami
 
本当にあった怖い話 「Hadoopで炎上しかけた話」
Yukino Ikegami
 
テキスト前処理用Pythonモジュールneologdnの紹介
Yukino Ikegami
 
Pythonで機械学習を自動化 auto sklearn
Yukino Ikegami
 
Modeless Japanese Input Method
Yukino Ikegami
 
Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...
Yukino Ikegami
 
Topic and Opinion Classification based Information Credibility Analysis on Tw...
Yukino Ikegami
 
Ad

PyPI入門2018