Day2 Pythonを始めるなら?
Pythonってご存じでしょうか.知ってますよね.
「Pythonを使うか」ってなる時とは?
Twitterとかでたまに見まずが,Pythonは高級シェルスクリプトです.(違います)
ファイルの名前を一括で変えたい? Pythonを使ってください.
JSONの処理をちょっとだけやりたい? Pythonを使ってください.
変数を持った計算機がほしい? Pythonを使ってください.
男は黙ってVanilla Python…
皆様,uvとかruffとかってご存じですか?
Rustだかなんだかで作られたパッケージマネージャーとかプロジェクト管理とかもなんかそこら辺のあれだと思うのですが…まぁ皆さん使ってるんでしょうねきっと…
いやでも…残念ながら私はモダンな技術に疎くてですね…
未だに私はpipを使いますし,python main.pyって実行します.
このようなプロジェクトシステムを使わない理由は,やっぱりPythonは手軽に実行したい…そしてされるべきというイメージが根付いてしまっているからですね.
なんかイメージが浮かんだらsample.pyの中身を書いて,python sample.pyって実行する…この手軽さがいいんですよね.
なので,プロジェクトシステムとか,パッケージ管理システムはほかの言語に譲ってあげることにします.
初学者に初めてプログラミング!って言ってまずはuvやruffを入れてプロジェクト管理を始めましょう!っていうのもなんか苦ですし…
私でもvenvぐらいは使います
venvはご存じですか?最新の技術に慣れてしまった皆様にはもう遠い昔の話かもしれませんが,venvというのはVirtual Environment…すなわち仮想環境になりますね.
通常,Pythonはpip install なんとか~って打ってパッケージをインストールしていきますが,それはインストールされているPythonごとに共通になってしまいます.
これではパッケージのバージョンが競合してしまったり,requirements.txtの生成がめんどくさかったり,あるパッケージが悪さをして実行できなかったり…と.
そこで,まぁ雑に言うとnode_modulesみたいなやつを出来るようにするんですよ.
そこでvenvの出番.python -m venv .venvと打ってください.その後はなんかいい感じのコマンドで環境を有効化すると,仮想環境の完成です.
その中でpip installってしても,外部には影響がないのです.便利ですね.これが私のモダンの限界です.
そういう私のPythonは
python3.13 -m venv .venv
source ./.venv/bin/activate
pip install -U -r ./requirements.txt
python ./main.py
です.
もう少しvenvの魅力を語っておくと,Pythonのインストールでごたついてしまって複数バージョンがインストールされてしまったり,なんかpipって打っただけだとコマンドが認識されない場合でも,venvを使って仮想環境を有効化しておくとpythonって打てば仮想環境のバージョンになりますし,pipもちゃんと動きますし.pipがどのバージョンのpythonかなんか気にしなくてよくなります.
そういう意味ではpipをグローバルにコマンドとして展開したり,python -m pipなんてものを使えるようにするのは悪だからやめよう(思想).
以上です.
...が,もし余力があればいつかの記事でuvとか使ってみるかもしれないです.