2021-11-28に更新

Pythonスクリプトってどうやってパブリッシュするんだぜ(^~^)?

ヘコヘコとろん(^~^) 公開下書き

ramen-tabero-futsu2.png
「 Pythonスクリプトをパブリッシュするには、どうやったらいいんだぜ?
ふだん使っているOSは Windowsだぜ」

📖 Packaging Python Projects

kifuwarabe-futsu.png
「 👆 これを読めだぜ」

py -m pip install --upgrade pip

ohkina-hiyoko-futsu2.png
「 👆 Pythonの環境を最新にしましょう」

Output:

'py' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

ramen-tabero-futsu2.png
「 👆 py コマンドなんか無いぜ?」

python.exe -m pip install --upgrade pip

kifuwarabe-futsu.png
「 👆 じゃあ 手抜きで このコマンドで」

Output:

Requirement already satisfied: pip in c:\users\むずでょ\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (21.3.1)

いろいろやって

ramen-tabero-futsu2.png
「 ディレクトリー構成を真似たぜ」

ramen-tabero-futsu2.png
「 👆 YOUR-USERNAME-HERE とか書いているところに名前を書いていくかだぜ?」

それで

python.exe -m pip install --upgrade build

ramen-tabero-futsu2.png
「 👆 build というモジュールをインストールするらしいぜ」

python.exe -m build

ramen-tabero-futsu2.png
「 👆 そして build を実行」

20211128blog274.png

ramen-tabero-futsu2.png
「 👆 何かしらんけど 何かされたぜ」

20211128blog275a1.png

ramen-tabero-futsu2.png
「 👆 何か増えてる」

📖 Log in to TestPyPI

kifuwarabe-futsu.png
「 👆 TestPyPl というサイトに会員登録が必要だそうだぜ」

ramen-tabero-futsu2.png
「 登録したぜ」

20211128blog276.png

ramen-tabero-futsu2.png
「 👆 APIトークン ってこれかだぜ?」

20211128blog277.png

ramen-tabero-futsu2.png
「 👆 多分ここにアプリケーションの名前でも入れとけば 鍵を1回だけ 作ってくれるんだろ」

python.exe -m pip install --upgrade twine

kifuwarabe-futsu.png
「 👆 ここで twine というパッケージが必要だそうだぜ」

python.exe -m twine upload --repository testpypi dist/* --verbose

kifuwarabe-futsu.png
「 👆 このコマンドを実行すると、ユーザー名と パスワードを尋ねられたあとに
アップロードが始まるそうだぜ」

ramen-tabero-futsu2.png
「 パスワードって あの長い APIトークン?」

20211128blog278.png

ramen-tabero-futsu2.png
「 👆 ダメだ 分かんね」

📖 Python: Twine を使って PyPI にパッケージをアップロードする

ohkina-hiyoko-futsu2.png
「 👆 Twine 用の設定があるみたいよ? トップディレクトリに .pypirc というファイルを置いておくみたい」

[distutils]
index-servers =
  pypi
  pypitest

[pypi]
repository=https://upload.pypi.org/legacy/
username=<your_username>
password=<your_password>

[pypitest]
repository=https://test.pypi.org/legacy/
username=<your_username>
password=<your_password>
EOF

ramen-tabero-futsu2.png
「 👆 ユーザー名とパスワードに ユーザー名とパスワードを書いたら 弾かれるぜ」

kifuwarabe-futsu.png
「 そこには トークンの名前と、トークンを入れろだぜ」

ohkina-hiyoko-futsu2.png
「 👆 .pypirc ファイルは Git Hub にアップロードしないように .gitignore に設定しておきなさい」

python.exe -m twine upload --repository testpypi dist/* --verbose

ramen-tabero-futsu2.png
「 👆 ここには わたしのユーザー名と パスワードを入れて」

20211128blog279.png

ramen-tabero-futsu2.png
「 👆 行けたぜ」

python.exe -m pip install --index-url https://test.pypi.org/simple/ --no-deps example-pkg-muzudho
                                                                                          -------
                                                                                          YOUR-USERNAME-HERE

20211128blog280.png

ramen-tabero-futsu2.png
「 👆 さて どうなったのやら?」

20211128blog281.png

python

>>> from example_package import example
>>> example.add_one(2)
3

kifuwarabe-futsu.png
「 👆 インストールできてるんじゃないか?」

ramen-tabero-futsu2.png
「 別のディレクトリで試してみてくれだぜ」

20211128blog282.png

kifuwarabe-futsu.png
「 👆 いけてるぜ」

ohkina-hiyoko-futsu2.png
「 いままでのことは テストサイト にアップロードしたので 消されることがあるわよ」

ramen-tabero-futsu2.png
「 はあ」

ohkina-hiyoko-futsu2.png
「 使い慣れたら 永続的な PyPl サイトに アップロードしましょう!」

Product

📖 pypi.org

ramen-tabero-futsu2.png
「 こっちにもアカウント登録すればいいのか」

何度でもクリック!→

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

むずでょ の最近の記事