SlideShare una empresa de Scribd logo
1 de 12
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

Más contenido relacionado

Similar a PyPI入門2018

Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
Kouhei Maeda
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
 

Similar a PyPI入門2018 (20)

やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミングやってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
 
IPython notebookを使おう
IPython notebookを使おうIPython notebookを使おう
IPython notebookを使おう
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
 
開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython
開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython
開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython
 
鳥取python勉強会 第2回
鳥取python勉強会 第2回鳥取python勉強会 第2回
鳥取python勉強会 第2回
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
Hannari python#27
Hannari python#27Hannari python#27
Hannari python#27
 
FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話FastAPIのテンプレートプロジェクトがいい感じだった話
FastAPIのテンプレートプロジェクトがいい感じだった話
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミングやってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
やってみよう!Pi-Stopで学ぶRaspberry Pi+Pythonプログラミング
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
BPStudy#116(PyQ開発秘話)
BPStudy#116(PyQ開発秘話) BPStudy#116(PyQ開発秘話)
BPStudy#116(PyQ開発秘話)
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
 

Más de Yukino Ikegami

テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介
Yukino Ikegami
 
Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...
Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...
Clause Anaphora Resolution for Japanese Demonstrative Determiner based on Sem...
Yukino Ikegami
 

Más de Yukino Ikegami (8)

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

PyPI入門2018