Skip to content

Python

Ubuntu 22.04.4LTS に uv を入れて Python のパッケージを管理する

比較的新しい Python のパッケージ管理ツールに uv があります。 Rye Grows With UV には以下の記載があります。

Two weeks ago I asked the question again about What Rye should be. There has been one thing that I have not publicly shared before and that is that ever since Rye exists I have also been talking to Charlie Marsh about Python packaging and Python tooling. It turns out that we had some shared ideas of what an ideal Python tooling landscape would look like. That has lead to some very interesting back and forths. To make a potentially very long story short: Together with Astral's release of uv they will take stewardship of Rye. For the details read on.

今回は Ubuntu 24.04.4LTS に uv を入れる手順と基本的な使い方をメモしておきます。 尚、uv で作成した仮想環境へ切り替える際は direnv が便利です。 direnv は過去に以下のメモで触れています。

Python で「ファイルを一行ずつ読み込む」サンプル

Python で「ファイルを一行ずつ読み込む」サンプルをメモしておきます。 よく end="" を忘れて意図しない、余計な改行をしてしまいます…

1
2
3
4
5
#!/usr/bin/env python3

with open("./sample.txt") as f:
    for line in f:
        print(line, end="")

asdf 環境の Python に pip で追加したコマンドが使えない場合の対処

asdf で Python をインストールした環境で pip を使い、CLI から実行可能なコマンドをインストールしたにも関わらず、「コマンドが使えない」という事象が発生します。 下記では例として cmlutils をインストールしていますが、インストール後に cml コマンドへのパスが通っておらず、利用出来ません。

1
2
3
4
# python3 -m pip install cmlutils
(snip)
# which cml
#

この問題は reshim を実行することで解決します。

1
asdf reshim python

これで pip でインストールしたコマンドが利用可能になりました。

1
2
# which cml
/root/.asdf/shims/cml

全ての Docker コンテナを停止・削除する Python スクリプト

以前に 全コンテナを停止・削除する docker サブコマンド「docker purge」 というメモを書きました。 このメモでは Docker のプラグインとして golang で purge というコマンドを作成しました。 Python から Docker を扱うのも簡単なので、今回は Python で同じ目的のスクリプトを書いてみました。

pyOpenSSL で SSL/TLS サーバ証明書の有効期限を取得する

以前に 証明書の有効期限を確認する Python スクリプト というメモを書きました。 このメモでは pyOpenSSL を利用していました。 他にも Python から SSL/TLS サーバ証明書を取り扱いたい場合、以下のようなライブラリを利用出来るようです。

名称 最新バージョン リリース日
certifier 0.2.1 2019/06/28
pyOpenSSL 23.3.0 2023/10/26
ssl-certinfo 1.1.2 2022/07/03

pyOpenSSL 以外はあまりメンテナンスされていないようです。 以前のメモでは機能をメソッドとして実装していたのですが、クラス/プロパティとして実装した方が扱いやすかったので改造したサンプルスクリプトをメモしておきます。