| Distribution | Version |
|---|---|
| 0.1.1 | |
| 0.1.2 | |
| 0.1.2.1 | |
| 0.1.2.2 |
0.1.2.1以下は動きません
GUI で Python 仮想環境とモジュール(パッケージ)を管理できるデスクトップアプリです。内部的に uv を呼び出して、環境作成・パッケージの一覧/インストール/アンインストール/アップデートなどを行います。PyQt6 製で、非同期実行(QThread)により UI をブロックしません。
想定用途: 複数の仮想環境や依存パッケージを GUI から直感的に扱いたい個人/チーム向け。
-
環境管理
- 既存環境の自動検出(
<プロジェクト>/.venvとenvs/配下) - 新規環境の作成(
uv venv) - 管理対象内の環境削除
- 選択中環境の Python バージョン表示(
pyvenv.cfgから)
- 既存環境の自動検出(
-
モジュール(パッケージ)管理
- インストール済みモジュール一覧(
uv pip list --format json) - キーワード検索フィルタ
- 指定モジュールの インストール/削除/バージョン固定(
==指定) - アウトデート検出 → 一括アップデート(確認ダイアログ付き)
- インストール済みモジュール一覧(
-
UI/操作性
- 行選択テーブル、交互行色、ステータスバー
- 実行中は操作を抑止して安全化(ビジー表示)
- エラー/確認/情報ダイアログ
-
Python 3.10+(3.11/3.12 推奨)
-
uv CLI が PATH から実行可能であること
| Distribution | Version |
|---|---|
| windows11 | |
| Ubuntu 24.04.3 | |
| Mac |
Ubuntu, Macは動作確認が遅れるため、1バージョン遅れます。 本アプリは uv を通じて仮想環境・パッケージ操作を行います。pip の代替として uv を利用します。
pip install PYVYpyvy本 README のコード例では
ModuleGUIを直接__main__から起動します。
- 検出: プロジェクト直下の
.venv、およびenvs/ディレクトリ配下の仮想環境(pyvenv.cfgが存在するもの)を自動検出します。 - 新規作成: 「新規環境作成」を押下し、環境名を入力します。
- 削除:
envs/配下にある環境のみ削除できます(安全のため管理外は不可)。 - Python バージョン管理: ダイアログで指定バージョンを入力 →
uv python install <version>を実行します。
- 一覧: 「環境」を選択すると、
uv pip list --format jsonの結果をテーブル表示します。 - 検索: 上部の検索欄にキーワードを入力するとクライアント側フィルタで絞り込みます。
- インストール: 下部入力にパッケージ名(例:
requests、pydantic==2.9.2)→「インストール」。 - バージョン管理: 行の「バージョン管理」から特定バージョンを指定して再インストールします。
- 削除: 行の「削除」でアンインストールします(確認あり)。
- 一括更新: 「一括モジュール更新」→ アウトデート検出 → 更新実行(確認あり)。
- 非同期実行:
CommandThread(QThread)がuvコマンドを別スレッドで実行し、シグナルで結果を返します。 - UI のビジー制御: 実行中はボタン/入力/UI 全体を無効化し、完了後に復帰します。
- 環境検出:
discover_environments()で.venvとenvs/*/pyvenv.cfgを列挙・重複排除。 - Python 実行ファイル: OS 別に
bin/python(Unix)/Scripts/python.exe(Windows)を検索。 - モジュール一覧/更新:
uv pip list --format json/--outdatedを利用して JSON を解析しテーブル更新。
-
uv が見つからない
- PATH に
uvが通っていない可能性があります。ターミナルでuv --versionを実行して確認してください。
- PATH に
-
環境が検出されない/空
.venvまたはenvs/配下にpyvenv.cfgが存在するか確認してください。
-
Windows でアンチウイルスにブロックされる
uvの実行を許可してください。権限に注意してください。
-
権限エラー
- システム領域や管理者権限が必要なディレクトリでの操作を避け、ユーザーディレクトリ配下で実行してください。
-
依存: PyQt6(UI)、
uv(外部 CLI) -
コード構成:
ModuleGUI(QWidget): UI/状態/イベント束ねCommandThread(QThread): コマンド実行と結果通知
-
今後の拡張候補(ロードマップ例)
- インストールログ/履歴ダイアグラムの表示
- 依存関係ビュー(tree)
- 設定のエクスポート/インポート(JSON)
- ダークテーマ/テーマ切替
- エラーメッセージの改善(詳細ログ保存)
- Macでのテスト
- Linuxでのテスト
- pythonの互換性テスト
- リポジトリ同梱の
LICENSEを参照してください。
- 本アプリは Astral の uv に大きく依存しています。素晴らしいツールの提供に感謝します。