SlideShare a Scribd company logo
初めてPyPIにライブラリ登録して
公開してみた話
はんなりPython #27
2020/4/17@オンライン
あっきー
自己紹介
2
● 京都のIT会社で働いてます
● 業務では主に、AWS、Openblocks、SORACOM
などを使ってサービスを提供してます
● PythonはAWS Lambdaでバリバリ書いてます
最近はフロントエンドの開発が多く
なってきて、慣れないCSSと格闘して
おります。。。
本日お話しする内容
● PyPIって何?
● 実際にライブラリを公開するにはどうしたらいいの?
● ライブで公開してみる(デモ)
3
PyPIって何?
● Python Package Indexの略
● pip installする際はPyPIからライブラリを探して取ってくる
● PyPIへのライブラリの登録は誰でもできる
● PyPIへのライブラリ登録は結構簡単←ココ重要(*^▽^*)
4
実際のライブラリページ
5
実際にライブラリを公開するには
どうしたらいいの?
1. PyPIのアカウントを作成しましょう
2. リポジトリを作成し、実装しましょう
3. PyPIに登録しましょう
参考サイト:
https://packaging.python.org/tutorials/packaging-projects/
6
PyPIのアカウントを作成しましょう
ココから登録できます。
https://pypi.org/account/register/
7
リポジトリを作成し、実装しましょう
今回使用するサンプルコードのリポジトリ
https://github.com/papi-tokei/imananji
8
PyPIに登録しましょう
ビルド
$ python setup.py sdist bdist_wheel
アップロード
$ twine upload --repository pypi dist/*
9
参考文献
wheel
https://pythonwheels.com/
10

More Related Content

What's hot

Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
yaegashi
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Tetsuyuki Kobayashi
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
Yosei Ito
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
Sota Sugiura
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話
mirai_iro
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
Takayuki Serizawa
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
Tetsuyuki Kobayashi
 
Recent Information about LibreOffice
Recent Information about LibreOfficeRecent Information about LibreOffice
Recent Information about LibreOffice
Masataka Kondo
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法tani-page
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
tani-page
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
 
Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?
Kazuhiro Nishiyama
 
Mishimasyk6 iwatobipen
Mishimasyk6 iwatobipenMishimasyk6 iwatobipen
Mishimasyk6 iwatobipen
Takayuki Serizawa
 
ttyrecからGIFアニメを作る話
ttyrecからGIFアニメを作る話ttyrecからGIFアニメを作る話
ttyrecからGIFアニメを作る話
Yoshihiro Sugi
 
LibPGEN 1st Step Guide
LibPGEN 1st Step GuideLibPGEN 1st Step Guide
LibPGEN 1st Step Guide
slankdev
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
slankdev
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
mganeko
 

What's hot (20)

Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
Recent Information about LibreOffice
Recent Information about LibreOfficeRecent Information about LibreOffice
Recent Information about LibreOffice
 
Mishimasyk 3 20140705
Mishimasyk 3 20140705Mishimasyk 3 20140705
Mishimasyk 3 20140705
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?
 
Mishimasyk6 iwatobipen
Mishimasyk6 iwatobipenMishimasyk6 iwatobipen
Mishimasyk6 iwatobipen
 
ttyrecからGIFアニメを作る話
ttyrecからGIFアニメを作る話ttyrecからGIFアニメを作る話
ttyrecからGIFアニメを作る話
 
LibPGEN 1st Step Guide
LibPGEN 1st Step GuideLibPGEN 1st Step Guide
LibPGEN 1st Step Guide
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 

Similar to Hannari python#27

入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Kei IWASAKI
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
 
Pythonでpdfをいじってみる
PythonでpdfをいじってみるPythonでpdfをいじってみる
Pythonでpdfをいじってみる
株式会社 システムヨシイ
 
括弧を使わないLispプログラミング
括弧を使わないLispプログラミング括弧を使わないLispプログラミング
括弧を使わないLispプログラミング
Yuta Mizushima
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
shoma h
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
 
PredictionIOのPython対応計画
PredictionIOのPython対応計画PredictionIOのPython対応計画
PredictionIOのPython対応計画
Shinsuke Sugaya
 
rpi_handson_1
rpi_handson_1rpi_handson_1
rpi_handson_1
teruyaono1
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
Naoki Matsumoto
 
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
Masaki Yamamoto
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜNaruto TAKAHASHI
 
numpyの魅力
numpyの魅力numpyの魅力
numpyの魅力
__106__
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
Yuta Kashino
 

Similar to Hannari python#27 (20)

入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Pythonでpdfをいじってみる
PythonでpdfをいじってみるPythonでpdfをいじってみる
Pythonでpdfをいじってみる
 
括弧を使わないLispプログラミング
括弧を使わないLispプログラミング括弧を使わないLispプログラミング
括弧を使わないLispプログラミング
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
PredictionIOのPython対応計画
PredictionIOのPython対応計画PredictionIOのPython対応計画
PredictionIOのPython対応計画
 
rpi_handson_1
rpi_handson_1rpi_handson_1
rpi_handson_1
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
numpyの魅力
numpyの魅力numpyの魅力
numpyの魅力
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 

More from hiroya akita

KyotoLT_Online_27.pdf
KyotoLT_Online_27.pdfKyotoLT_Online_27.pdf
KyotoLT_Online_27.pdf
hiroya akita
 
はんなりPython #45
はんなりPython #45はんなりPython #45
はんなりPython #45
hiroya akita
 
Python 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみるPython 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみる
hiroya akita
 
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
hiroya akita
 
AppSync導入のすすめ
AppSync導入のすすめAppSync導入のすすめ
AppSync導入のすすめ
hiroya akita
 
みんなのPython勉強会#62
みんなのPython勉強会#62みんなのPython勉強会#62
みんなのPython勉強会#62
hiroya akita
 
はんなりpython#32
はんなりpython#32はんなりpython#32
はんなりpython#32
hiroya akita
 
変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?
hiroya akita
 
みんなのはんなりPython勉強会
みんなのはんなりPython勉強会みんなのはんなりPython勉強会
みんなのはんなりPython勉強会
hiroya akita
 
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だったPythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
hiroya akita
 
Lt debian 20190526
Lt debian 20190526Lt debian 20190526
Lt debian 20190526
hiroya akita
 

More from hiroya akita (11)

KyotoLT_Online_27.pdf
KyotoLT_Online_27.pdfKyotoLT_Online_27.pdf
KyotoLT_Online_27.pdf
 
はんなりPython #45
はんなりPython #45はんなりPython #45
はんなりPython #45
 
Python 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみるPython 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみる
 
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
 
AppSync導入のすすめ
AppSync導入のすすめAppSync導入のすすめ
AppSync導入のすすめ
 
みんなのPython勉強会#62
みんなのPython勉強会#62みんなのPython勉強会#62
みんなのPython勉強会#62
 
はんなりpython#32
はんなりpython#32はんなりpython#32
はんなりpython#32
 
変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?
 
みんなのはんなりPython勉強会
みんなのはんなりPython勉強会みんなのはんなりPython勉強会
みんなのはんなりPython勉強会
 
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だったPythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
 
Lt debian 20190526
Lt debian 20190526Lt debian 20190526
Lt debian 20190526
 

Hannari python#27