はじめに
間に合わないよ〜1 nikkieです。
9/30(土)のXP祭り2023にて、ワークショップを実施します!2
ワークショップで必要になるPython環境についてこの記事で案内します
目次
小さなテクニカルプラクティスのワークショップ
このワークショップでは、テスト駆動開発とリファクタリングそれぞれを「小さい」という観点で扱っていきます。
発表者が慣れているという都合で、使うツールはPython + VS Code。
VS Codeは https://code.visualstudio.com/download からインストールすればよいですね。
Python環境構築について、この記事で案内します。
GitHub Codespaces
今回のワークショップの時間だけ使えるようにPython環境を構築する方法です。
以下の方にオススメ
今回のワークショップのリポジトリにブラウザでアクセス!
https://github.com/ftnext/small-technical-2023
画像のように操作し、codespaceを作りましょう!3
VS CodeのようなUIがブラウザで立ち上がります。
また、シェルを叩くと、Pythonがインストール済みです(python -V
)。
ブラウザで開発できるなんて、便利な時代になったものです〜
お値段が気になるかもしれませんが、毎月の無料利用枠があります!
ワークショップやその前後の時間(=3-4時間)の動かすだけなら無料枠の中で使えるはずです
利用が終わったら止めましょう。
親切設計になっていて、10分くらい放置すると自動で止まった体験があります。
ワークショップ中は私のcodespaceを参加者にもアクセスできるようにする予定です(Live Share)。
これでペアプロもできるんじゃないかな〜、楽しみ〜
ローカル開発環境構築
ふだんPythonを使っている方はワークショップのリポジトリをcloneしてローカル環境で動かす参加スタイルもありです。
ふだんPythonを使っていないけれどこの機にPythonの環境を構築してみたいという方、素晴らしいです!
以下に参考情報を記します。
Pythonのインストール
私はふだん複数のPythonのバージョンを使い分ける必要があるのでpyenvを使っています。
一方このワークショップのためにPythonの環境を構築する場合は、公式のインストーラを使うのがいいのではないかと思います。
初手pyenvは難しくしすぎているきらいがあるためです。
インストーラの手順に従ってPythonをインストールしましょう!(9月時点の最新は3.11.xで、3.12というやつはもうちょっとだけお待ちください)
先人が残した解説へのリンク集を作っておきます(ありがたや〜。どちらか参照ください)。
仮想環境
Pythonには便利なサードパーティライブラリがいくつもあり、これらを利用して開発していけます(とっても楽しい!)。
サードパーティのライブラリも(Python同様に)インストールする必要があり、ライブラリを管理するツールがいくつかあります。
今回のワークショップを機に環境構築されるのでしたら、私は仮想環境を作ってpip install
していくのをオススメします。
Pythonの仮想環境とはディレクトリで、Node.jsでいうnode_modules
に相当します。
インストールしたサードパーティライブラリは仮想環境(のディレクトリ)に配置されるのです。
Node.jsだとnpm
(など)のツールがnode_modules
ディレクトリ以下を管理してくれると思いますが4、Pythonではその管理は人力5です6
具体的な手順は先人の解説に譲ります(ありがたい限りですね)。
また最近見た中でよさそうだった資料です。
終わりに
XP祭りワークショップに向けたPython環境構築案内でした。
ワークショップ参加者の方には当日会場で多少サポートはできるかなと思います。
PCだけは忘れずにご持参いただければ〜🙏
- 最近ハマっているアニメより 引用 です↩
- ↩
- 解説 https://speakerdeck.com/dzeyelid/vs-code-con-2023-github-codespaces-introduction?slide=21↩
- Pythonに比べてNode.jsは理解が浅いので間違ったこと書いていたら教えてください〜↩
- みんな大人なんだから✨人力✨でも全然いけるよね?(たぶんそんなことはなくて、PoetryやPipenvなどpipをラップしたツールが登場しています)↩
- そうそう、Pythonでの依存ライブラリ管理について、ばんくしさんに10月のみんなのPython勉強会で話していただけます!『Pythonのパッケージ管理の中級者の壁を越えよう』 こちらの記事の方です ↩