はじめに
この記事では、Ubuntuで利用できるPython製の宛名印刷ソフトウェア Riosanateaを、高速なパッケージインストーラーであるuvを使ってセットアップする方法について解説します。
このソフトウェアはGUIツールキットとしてwxPythonに依存しています。しかしwxPythonは、pipやuvで通常通りインストールしようとすると、環境によってはビルドエラーが発生しやすいという課題があります。
そこで、uvの--find-linksオプションを活用し、ビルド済みのwxPythonパッケージを指定することで、この問題をスマートに回避します。
対象読者
- Ubuntuで手軽に使える宛名印刷ソフトを探している方
-
uvの便利な使い方に興味がある方 -
wxPythonのビルドで詰まった経験のある方
この記事のゴール
-
uvを使い、wxPythonに依存するPythonアプリケーションをスムーズにインストールできるようになる。
前提条件
本記事はUbuntu 24.04を対象としています。
- Ubuntu 24.04 がインストールされていること。
- Pythonのパッケージインストーラー
uvがインストールされていること。
uvのインストールがまだの場合は、公式の指示に従ってインストールしてください。
curl -LsSf https://astral.sh/uv/install.sh | sh
【重要】RiosanateaのUbuntu 24.04での動作について
Riosanateaの作者様によると、Ubuntu 24.04系統での動作不良が報告されています。不具合の解決が遅れる場合や、場合によっては放置される可能性もあるとのことです。本記事の手順でインストールは可能ですが、動作が不安定な場合は、作者様のウェブサイトで最新情報をご確認ください。
インストール手順
ここからは、Python製宛名印刷ソフト「Riosanatea」をインストールする手順を説明します。
1. Riosanateaのダウンロードと展開
まず、Riosanateaの公式サイトから最新版のZIPファイルをダウンロードします。
ダウンロードしたZIPファイルは、任意の場所に展開してください。ここでは例として、~/Downloads/riosanateaに展開されたと仮定します。
# ダウンロードしたZIPファイルが~/Downloads/riosanatea.zipの場合
cd ~/Downloads
unzip riosanatea.zip
展開すると、riosanateaというディレクトリが作成されます。
2. 依存関係の追加とRiosanateaの実行
Riosanateaは単一のPythonスクリプトとして提供されており、インストールは不要です。代わりに、必要な依存関係(wxPythonとPillow)をuvで追加し、その後uv runコマンドを使ってRiosanateaスクリプトを直接実行します。
wxPythonのビルド問題を回避するため、uv addコマンドに--find-linksオプションと-Uオプションを追加します。このURLはUbuntuのバージョンやPythonのバージョンによって異なる場合があるため、ご自身の環境に合わせて適宜書き換えてください。
これにより、uvは指定されたURLからビルド済みのwxPythonパッケージを探し出して利用してくれます。
uv add wxPython pillow --find-links https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-24.04/ -U
このコマンド1つで、依存関係にあるPillow(PyPIから)、そしてwxPython(--find-linksで指定したURLから)が適切に追加されます。
依存関係の追加が完了したら、以下のコマンドでRiosanateaを実行できます。
uv run python Riosanatea.py
なぜこの方法が必要か
wxPythonはC++で書かれたwxWidgetsライブラリのPythonラッパーです。そのため、pip install wxpythonを実行すると、通常はソースコードからライブラリのビルド(コンパイル)が始まります。
このビルドプロセスは、システムの開発ツールやライブラリが揃っていないと失敗しがちです。特に、wxWidgetsのバージョン互換性などで問題が発生することがあります。
幸い、wxPythonプロジェクトは主要なプラットフォーム向けにビルド済みのパッケージ(ホイール)を提供しています。--find-linksオプションは、uvに対して「PyPI(Python Package Index)を探す前に、まずはこちらのURLもチェックしてね」と伝えるための指示です。これにより、ビルド済みのホイールが見つかり、ソースからのビルドを回避してスムーズにインストールできます。
まとめ
本記事では、uvの--find-linksオプションを使って、ビルドが難しいwxPythonのような依存関係を持つPythonアプリケーションをUbuntuにインストールする方法を解説しました。
Riosanateaは単一のPythonスクリプトで構成されているため、コードの修正やカスタマイズが比較的容易です。AIアシスタント(gemini-cliなど)を活用すれば、さらにスムーズに機能追加や改善も可能でしょう。
uvのような高速なパッケージ管理ツールとgemini-cliを組み合わせることで、今年の宛名印刷作業が非常にスムーズになり、大幅な効率化が期待できます。Riosanateaの作者様が提供してくださった素晴らしいツールに感謝しつつ、ぜひご活用ください。
このテクニックはwxPythonに限らず、特定の場所で配布されているホイールパッケージを使いたい場合に広く応用できます。uvの強力な機能を活用して、快適なPython開発環境を構築しましょう。
この記事はAIアシスタントの協力のもと作成されました。