2021/12/10(金)の回です。
はじめに
Bolt入門ガイドはとてもよくできたわかりやすいガイドです。
このガイドをそのままやってみることで、Slackアプリを作る基礎を学べます。
Windowsで進めるときに少し読み替えが必要でしたのでそのことを記事にしておきます。
追記
実はガイドのほうにWindowsの場合はコッチをみてね〜 とリンクが書いてありました。
@seratch さんにコメント 欄で教えてもらいました。
(コメントありがとうございます )
まずこちらのコメントをご覧になることをオススメします。
前提という名の言い訳
この記事を信用しないでください。
2021/11/23の情報です。
私はPythonの経験は乏しいです。
対価をもらう形での業務(仕事)で書いたことはありません。
雰囲気で使っているし、書いています。
またWindowsは普段の開発では使っておらず、「まあ、公式からPythonのインストーラをダウンロードしてインストールしておけば間違いではないだろう」くらいのノリでWindowsを使っています。
諸事情により、Windows上でPythonを動かしたいことがありまして、その際に試行錯誤してたどり着いたガイドを一直線で一周できる方法を紹介しておきます。
できるだけ正確な情報を書きたいとはおもっていますが、力量不足は否めませんので嘘を含んでいる場合があります。
そのためこの記事を信用しないでください。
ではなにのために書いているかというと、「きっと私と同じことでつまる人がいるだろう」とおもうからです。
その人の時間の節約をしてあげたいと思っています。
参考にしていただいて、ご自身の判断で最適解を見つけてください。
もし、「こうすればいいよ」という情報をお持ちの方はぜひ教えてください。
「優しく教えてください」なんていいません。
罵詈雑言、なんでもです。
信用に足る記事を書くことを私は第一義としたいとおもっています。
記事をアップデートします。
また、ガイド自体はGitHubに公開されているものですので、Issuesたてて、プルリク送ったらいいじゃん! というご意見はごもっともでもですし、そうしたい思いはあるにはありますが、それをするには英語版のほうから見直しが必要で、私のいまの英語力では書けない1のと、Windowsでの開発経験に乏しいので私の環境依存の可能性を若干ながら捨てきれていないことから、プルリクを出すという行動はいまのところ考えておりません。
typoレベルで修正に自信がある件についてはプルリクを出してマージしていただいことがあります。
- https://github.com/slackapi/bolt-python/pull/507
- https://github.com/slackapi/bolt-python/pull/508
- https://github.com/slackapi/bolt-python/pull/519
四の五の言い訳が長くなりました
本題
環境
まず私が使った環境を記します。
Windows
Home editionです。
Python
からインストールしました。
Python 3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
ここの手順がこの記事のハイライトかもしれません。
Microsoft Storeからもインストールできるようで、そっちからやるとまた結果は違うものになるかもしれません。
ターミナル
Windows PowerShell
(昔ながらのコマンドプロンプトとの違いはわかっていません)
なんとなくデスクトップで右クリックして、「Windows ターミナルで開く」を選ぶと、Windows PowerShellが立ち上がりました。
新しいもののほうがいいだろうとおもってこちらをそのまま使いました。
読み替え
コマンドをなぞっていきます。
のWindowsタブの内容を参考にしています。
> mkdir first-bolt-app
> cd first-bolt-app
読み替え不要です。
> python -m venv .venv
ガイド記載のpython3 -m venv .venv
を読み替え。
Pythonの事情に疎いのでpython3 -> pythonを読み替えと呼ぶべきなのかどうか不明です。
> .venv\Scripts\activate
source .venv/bin/activate
のsource
なんて知らないといわれるので読み替えが必要。
ただし、以下のエラーがでます。
.venv\Scripts\activate : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Use
rs\torif\Documents\first-bolt-app\.venv\Scripts\Activate.ps1 を読み込むことができません。詳細に
ついては、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照し
てください。
発生場所 行:1 文字:1
+ .venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
about_Execution_Policiesを読んでみてください。
以下、よく内容を確かめてから実行してください。
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
これを事前にしておくことで、さきほどのエラーは突破できます。
ググってでてきた記事の内容をそのまま私は実行しましたが、もともとセキュリティで弾かれていたことの設定を変えているのでよく内容を理解して実行してください。(内容を理解せずに実行した私が言うのは変な話ですが)
これをy
と元気よく答えたあとにもう一度、.venv\Scripts\activate
を実行すると仮想環境がアクティベートになります。
> $env:SLACK_BOT_TOKEN="xoxb-<ボットトークン>"
> $env:SLACK_APP_TOKEN="<アプリレベルトークン>"
環境変数の設定は、ガイドで紹介されているリンク先のStackExchangeのPostを参考に設定します。
※Windows PowerShellでの設定方法をここでは書いています。
> pip install slack_bolt
読み替え不要です。
app.py
はそのまま写してください。
実行は
> python app.py
です。
Wrapping up
私のWindows環境では、上記のようにやると「Bolt入門ガイド」を一通り実施することができました。
一例として参考にしていただければ幸いです。
こうやれば読み替え不要(そもそも全体を通じて、「読み替え」と表現するのが適切なのかどうかPython界の流儀に疎くわかっていません)だよという情報をお持ちの方はぜひお知らせください。
この記事を信用しないでください。
Enjoy slack
-
いまは英語で書く自信がないと言っているだけで、未来永劫書けないと言っているわけではありません。来年のことを言うと鬼に笑われますが、来年のいまごろは英語がペラペラです。 ↩