今使っているlinux mintでpysimpleguiをインストールしようとしたら次にメッセージが出てインストールできませんでした。 Linux MintのバージョンはLinux Mint 22.1 Cinnamon Python3のバージョンは標準でインストールされているものでpython3 3.12.3
ーーーーーエラーメッセージはここからーーーーー
da30@Latitude-3520:~$ pip install pysimplegui error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing –break-system-packages. hint: See PEP 668 for the detailed specification. ーーーーーここまでーーーーー
pysimpleguiをやめてfreesimpleguiでやっても同じエラーメッセージでした。
どのように進めれば良いでしょうか?
ChatGPT:
Linux Mint 22.1はUbuntu 24.04ベースなので、Pythonの**PEP 668(Externally Managed Environment)**が適用され、pip installで直接システムPythonにパッケージを入れることが制限されています。
このエラーの意味は:
pip installでシステムPythonを汚すのを防ぐため、直接インストールは禁止。- 代わりに次のいずれかの方法を使う必要があります。
✅ 解決方法は3つあります
方法1: –break-system-packagesを使う(強制)
システムに直接インストールしてもOKなら、次のコマンドで可能です:
pip install pysimplegui --break-system-packages
注意: 推奨されない方法です。MintのPythonパッケージ管理が壊れるリスクがあります。
方法2: 仮想環境(推奨)
安全にやるならvenvを作成し、その中にインストールします。
python3-venvがあるか確認(Mintなら入ってるはず)
sudo apt install python3-venv
- 仮想環境を作成
python3 -m venv ~/myenv
- 有効化
source ~/myenv/bin/activate
- インストール
pip install pysimplegui
- 終了は
deactivate
方法3: pipxを使う(単体アプリ向け)
GUIアプリとして使う場合、pipxが便利です。
sudo apt install pipx pipx ensurepath pipx install pysimplegui
✅ どれを選ぶべき?
- 開発用・安全性重視 → 方法2(venv)
- 一時的・簡単に使いたい → 方法1(–break-system-packages)
- CLIアプリっぽく独立実行 → 方法3(pipx)
PySimpleGUIはGUIライブラリなので、仮想環境を使っておくのが無難です。
もしLinux Mintの標準アプリメニューから起動できるようにしたいなら、venvを使った後、ランチャーにExecを仮想環境のPythonに設定すればOKです。
👉 質問pysimpleguiで試したいのはPythonスクリプト開発ですか?
それともPySimpleGUIのデモやGUIアプリを単体で動かすことが目的ですか?
あなた:
GUIアプリを単体で動かすのが目的です。
ChatGPT:
その目的なら、pipxが最適です。pipxはアプリごとに自動で仮想環境を作成・管理してくれるので、システムを汚さず安全に使えます。
✅ 手順(Linux Mintでpipxを使う)
- pipxをインストール
sudo apt update sudo apt install pipx
- PATHを設定
pipx ensurepath
(設定を反映するため、ターミナルを再起動してください)
- PySimpleGUIをpipxでインストール
pipx install pysimplegui
- インストール確認
pipx list
✅ 実行方法
pipxでインストールしたパッケージは、仮想環境に隔離された状態でコマンドとして実行できます。
例えば、PySimpleGUIを使ったスクリプトを実行したい場合:
pipx run pysimplegui
もしGUIアプリがPySimpleGUIを利用しているPythonスクリプトなら:
pipx run --spec pysimplegui python your_app.py
✅ メリット
- システムPythonを壊さない
- アンインストールも簡単
- 将来的に他のGUIアプリもpipxで管理可能
質問
PySimpleGUIで動かしたいのは、
① PySimpleGUIが提供する公式デモですか?
② 自分で書いたPythonスクリプトですか?
(答えによって、pipxの使い方をもう少し具体的に説明します)
あなた:
スクリプトの作成はVSCODEで行いたいのですが、それも可能ですか?
ChatGPT:
はい、VS Codeでスクリプトを作成し、pipx環境を使って実行するのは可能です。
ただし、pipxはあくまで「アプリ単位の仮想環境管理ツール」なので、開発環境として使う場合はvenvの方が使いやすいです。
✅ VS Codeで開発したい場合のおすすめ構成
- コード編集 → VS Code
- ライブラリ管理 → 仮想環境 (
python3 -m venv) - 実行 → VS CodeのターミナルまたはRunボタン
✅ なぜpipxよりvenvが良い?
- pipxは1つのアプリを独立して実行するのに便利ですが、VS Codeと連携しにくい。
- VS CodeはPythonの仮想環境を自動認識してくれるので、venvを作ると簡単に「インタープリタの選択」ができる。
おすすめ手順(VS Code+venv+PySimpleGUI)
- python3-venvをインストール
sudo apt install python3-venv
- プロジェクトフォルダを作成
mkdir ~/PySGUIProject cd ~/PySGUIProject
- 仮想環境を作成
python3 -m venv .venv
- 仮想環境を有効化
source .venv/bin/activate
- PySimpleGUIをインストール
pip install pysimplegui
- VS Codeで開く
code .
- VS CodeでPythonインタープリタを選択
- 右下の「Python: 〇〇」部分をクリック
.venv/bin/pythonを選択
✅ こうすると何ができる?
- VS Codeでコードを書いて、そのままRunできる。
- 仮想環境にPySimpleGUIが入っているので、システムPythonを壊さない。
- pipで他のライブラリも追加可能。
👉 まとめ
- 単発でGUIアプリを使いたい → pipx
- VS Codeで開発したい → venvがおすすめ
質問:
VS Codeで開発したいのは、PySimpleGUIを使った自作GUIアプリですか?
(例えば、フォームやボタン付きの簡単なアプリなど)
それとも、まずはPySimpleGUIのサンプルを動かして試したいですか?
あなた:
VS Codeで開発したいのは、PySimpleGUIを使った自作GUIアプリです。
ChatGPT:
それなら、pipxではなくvenvを使う方法がベストです。
VS Codeは仮想環境を自動認識できるので、開発効率も高く、後からライブラリ追加も簡単です。
✅ 手順:Linux MintでVS Code + PySimpleGUI開発環境を作る
1. python3-venvを確認
Linux Mint 22.1では通常インストール済みですが、念のため:
sudo apt update sudo apt install python3-venv
2. プロジェクト用フォルダを作成
mkdir ~/PySimpleGUI_Project cd ~/PySimpleGUI_Project
3. 仮想環境を作成
python3 -m venv .venv
4. 仮想環境を有効化
source .venv/bin/activate
(終了するときは deactivate)
5. PySimpleGUIをインストール
pip install pysimplegui
6. VS Codeを起動
code .
7. VS Codeでインタープリタを選択
- 右下の「Python: ***」部分をクリック
.venv/bin/pythonを選択
(これで仮想環境がVS Codeに認識されます)
8. 動作確認用サンプルを作成
main.pyを作成して、以下のコードを記入:
import PySimpleGUI as sg
layout = [
[sg.Text('Hello from PySimpleGUI')],
[sg.Button(‘OK’)]
] window = sg.Window(‘First GUI’, layout) while True: event, values = window.read() if event == sg.WIN_CLOSED or event == ‘OK’: break window.close()
9. 実行
- VS Codeの「Run」ボタン or
python main.py
✅ これでPySimpleGUIの基本ウィンドウが表示されます。
✅ 次のステップ
- GUI設計を進めたい場合、PySimpleGUIのレイアウト構築やイベントループを学ぶのが次。
- テーマ変更や入力フォーム、タブUIも簡単に実装できます。
👉 必要なら、PySimpleGUIでアプリを作るためのスターターテンプレートを作りますか?
(例:メニューバー付き、複数ページ対応、入力フォーム+保存機能)
あなた:
main.pyを実行したところ、下記エラーで期待したウインドウは現れませんでした。
ーーーーーここからーーーーー
(.venv) da30@Latitude-3520:~/PySimpleGUI_Project$ python main.py PySimpleGUI is now located on a private PyPI server. Please add to your pip command: -i https://PySimpleGUI.net/install The version you just installed should uninstalled: python -m pip uninstall PySimpleGUI python -m pip cache purge Then install the latest from the private server: python -m pip install –upgrade –extra-index-url https://PySimpleGUI.net/install PySimpleGUI You can also force a reinstall using this command and it’ll install the latest regardless of what you have installed currently python -m pip install –force-reinstall –extra-index-url https://PySimpleGUI.net/install PySimpleGUI Use python3 command if you’re running on the Mac or Linux Traceback (most recent call last): File “/home/da30/PySimpleGUI_Project/main.py”, line 4, in <module> [sg.Text(‘Hello from PySimpleGUI’)], AttributeError: module ‘PySimpleGUI’ has no attribute ‘Text’
ーーーーーここまでーーーーー
ChatGPT:
このエラーの原因は、PySimpleGUIが通常のPyPIでは最新バージョンを公開しておらず、専用のPyPIサーバに移動したため、インストールしたパッケージが壊れていることです。
✅ 問題点
- あなたは通常の
pip install pysimpleguiでインストールしました。 - しかし、PySimpleGUIは2024年後半以降、**公式のPyPIではなく独自サーバ(https://PySimpleGUI.net/install)で配布**しています。
- そのため、現在のPySimpleGUIモジュールは不完全で、
sg.Textが存在しない状態。
✅ 解決方法
PySimpleGUIが提示している手順をそのまま実行します。
- 古いPySimpleGUIを削除
pip uninstall PySimpleGUI pip cache purge
- 新しいPySimpleGUIを専用インデックスからインストール
pip install --upgrade --extra-index-url https://PySimpleGUI.net/install PySimpleGUI
(Linux/Macではpython3 -m pipでもOK)
✅ 確認
python -m pip show PySimpleGUI
インストールパスとバージョンが表示されればOKです。
✅ 再度テスト
python main.py
✅ 追加情報
- 理由:PySimpleGUIの開発者はPyPI公開をやめ、独自の配布に切り替えたため。
- 影響:今後もPySimpleGUIを使う場合、すべて
--extra-index-url https://PySimpleGUI.net/installが必要。
👉 質問
- このままPySimpleGUIで開発を続けたいですか?
- それとも、代替ライブラリ(例:FreeSimpleGUIやPyQt6)で同じことをやりたいですか?
(PySimpleGUIを続けるなら、VS Codeの仮想環境に正しくセットアップするためのコマンドをまとめます)
あなた:
python main.pyを実行したところ現れた画面です。 期待した画面ではなさそうですが。
ChatGPT:
この画面は、PySimpleGUI 5 の初回セットアップウィザードです。
最新版は**「PySimpleGUI Pro化」**されており、利用にはライセンス登録が必要になっています。
✅ 何が起きている?
pip install --extra-index-url https://PySimpleGUI.net/install PySimpleGUIで最新版(PySimpleGUI 5)が入りました。- PySimpleGUI 5 は Hobbyist(個人利用)なら無料登録が必要。
- 商用利用は$99。
- 登録しない場合は30日間の無料トライアル。
✅ Hobbyistとして無料で使う手順
- チェックボックス「I accept the terms in the License Agreement」をオン。
- 「Ok」をクリック。
- ライセンス登録画面が表示されるので、メールアドレスを入力。
- 無料ライセンスキーを取得して入力。
- Hobbyist用は無料なので安心。
✅ 期待したGUIが出なかった理由
PySimpleGUIが初回起動時にインストーラGUIを表示する仕様になったため。
これは一度だけの手順です。ライセンスを登録すれば、以降は普通にmain.pyが動きます。
✅ 選択肢
- PySimpleGUI 5 を使う → 無料ライセンスを登録すればOK。
- 旧PySimpleGUI(ライセンス不要)を使う → バージョン4系を指定して再インストール。
pip uninstall PySimpleGUI pip install PySimpleGUI==4.60.5これで従来どおり使えます。
👉 質問
PySimpleGUI 5を登録して使いますか?
それともライセンス不要の旧バージョン(4.60.5)で開発しますか?
(旧バージョンでもGUIアプリ開発は十分可能です)
あなた:
1.チェックボックス「I accept the terms in the License Agreement」をオン。
2.「Ok」をクリック。
3.ライセンス登録画面が表示されるので、メールアドレスを入力。
上記2.の「OK」を押したところ現れたウインドウです。
この画面で「Register」を選んだら有料登録の画面になりました。 ここでは「Free Trial」を選ぶのですか。
ChatGPT:
はい、現在のPySimpleGUI 5では**「Free Trial」**を選ぶと、30日間の無料トライアルでライセンスキーなしで利用できます。
その後、本登録を求められますが、個人利用(Hobbyist)なら無料ライセンスを登録できます。
✅ 正しい進め方(PySimpleGUI 5を使う場合)
- Free Trialをクリック
→ 30日間、すぐに使えます。 - 後でRegisterを選び、メールアドレスで無料ライセンスキーを取得します。
- Hobbyist(個人利用)は無料
- 商用は有料($99)
✅ もし「今すぐ有料登録画面しか出ない」場合
- Hobbyist登録はWebで無料キーを取得するページがあるはずです。
- 現時点では、PySimpleGUI公式サイトで無料登録できるフォームがあります。
✅ 選択肢まとめ
- Free Trial → Hobbyist登録で無料継続
→ PySimpleGUI 5を使い続けられる。 - 旧バージョンを使う(完全無料・ライセンスなし)
→ PySimpleGUI 4.60.5をインストール:pip uninstall PySimpleGUI pip install PySimpleGUI==4.60.5
👉 質問:
30日トライアル+無料登録で進めますか?
それとも**旧バージョンに切り替え(完全無料)**しますか?
(旧バージョンでもGUIアプリ開発には十分ですし、コード互換性もほぼあります)
あなた:
python main.pywo(入力途中で送信してしまったので文章は不明)
ChatGPT:
この画面が出たということは、PySimpleGUI 5でスクリプトが正常に動作したということです。
ただし、下部に「TRIAL PERIOD ends in 31 days. Register now.」という表示があるので、
今は30日間の無料トライアル状態になっています。
✅ 現状
- PySimpleGUI 5 はライセンス制になったので、今後継続利用には登録が必要。
- Hobbyist(個人利用)なら無料ライセンスを取得できます。
- 商用利用なら有料($99)。
✅ 次に取れる選択肢
1. 無料ライセンスを登録
- 公式サイトでHobbyistとしてメールアドレス登録。
- 開発環境にライセンスキーを設定(GUIで入力 or 設定ファイル)。
2. 完全無料の旧バージョンに戻す
PySimpleGUI 4系ならライセンスなしで使えます。
pip uninstall PySimpleGUI pip install PySimpleGUI==4.60.5
(4.60.5はPySimpleGUI 4の最終安定版)
✅ どちらがおすすめ?
- 最新機能を使いたい & 将来PySimpleGUI 5を使う予定 → 無料登録
- 手間を避けたい & ライセンス制にしたくない → 旧バージョン(4.60.5)
👉 質問
どちらにしますか?
- [A] 無料登録してPySimpleGUI 5を使い続ける
- [B] 旧バージョンに切り替えてライセンスなしで使う
(選んだ方に合わせて、次のステップを詳細にまとめます)
あなた:
python main.pyを何度実行してもFirst GUIのタイトル画面しか出てきません。 どうもPySimpleGUIで始めたのが良くなかったようですね。 因みにFreeSimpleGUIを選択したほうが良かったのかもしれませんね。
ChatGPT:
確かに、今のPySimpleGUI 5は有料ライセンス制+初回セットアップが複雑になってしまったので、手軽に使うには不向きになっています。
あなたの目的(VS CodeでGUIアプリを作る)に対しては、以下の選択肢があります。
✅ 1. FreeSimpleGUIを使う場合
FreeSimpleGUIは、PySimpleGUI互換を目指して開発されているオープンソースのプロジェクトです。
特徴:
- PySimpleGUIに似たAPI → 乗り換えが容易
- 完全無料、ライセンス制なし
- PyPIで公開されているので通常の
pip install freesimpleguiでOK - ただし、PySimpleGUIと100%互換ではないので一部修正が必要になることがあります
インストール方法
仮想環境で:
pip install freesimplegui
簡単なサンプル
import FreeSimpleGUI as sg
layout = [
[sg.Text('Hello from FreeSimpleGUI')],
[sg.Button(‘OK’)]
] window = sg.Window(‘Free GUI’, layout) while True: event, values = window.read() if event == sg.WIN_CLOSED or event == ‘OK’: break window.close()
✅ 2. PySimpleGUI 4系を使う(完全無料)
PySimpleGUIの旧バージョン(4.60.5)はライセンス不要で使えます。
これを使えば、あなたが最初に書いたコードはそのまま動きます。
切り替え手順
pip uninstall PySimpleGUI pip install PySimpleGUI==4.60.5
✅ 3. 他のGUIフレームワークに乗り換える
もっと本格的に開発するなら:
- PyQt6 / PySide6(高機能、プロフェッショナル向け)
- Tkinter(標準ライブラリ、シンプル)
- Kivy(クロスプラットフォーム)
✅ 私のおすすめ
- 簡単にPySimpleGUIライクに使いたい → FreeSimpleGUI
- PySimpleGUIそのまま使いたい → PySimpleGUI 4.60.5
- 本格的なGUIアプリ開発をしたい → PyQt6 or PySide6
👉 質問
どちらを選びますか?
- [A] FreeSimpleGUIに切り替える
- [B] PySimpleGUI 4.60.5に戻す
- [C] 別のGUIライブラリ(PyQt6など)にする
選んだら、その手順とVS Codeでの開発設定を詳細にまとめます。
あなた:
FreeSimpleGUIで期待したウインドウが出ました。 このまま進められればFreeSimpleGUIを選択しようと思います。 PySimpleGUIとFreeSimpleGUIにどの程度の違いがあるのか知りたいです。
ChatGPT:
よかったですね!FreeSimpleGUIで問題なく表示されたのは、PySimpleGUIの最近のライセンス変更による制限(試用期間付き)を回避できたからです。
✅ PySimpleGUIとFreeSimpleGUIの違い
ここで両者を比較します。
1. ライセンス
- PySimpleGUI
- 2023年以降、有料ライセンスモデルを導入。
- 商用利用や一部機能に制限あり。
- 無料版は「TRIAL PERIOD」表示が出る。
- FreeSimpleGUI
- 完全無料・オープンソース(MITライセンス)。
- 商用でも自由に使える。
2. 開発状況
- PySimpleGUI
- 長年の歴史あり、豊富なドキュメントとサポート。
- ただし最新バージョンは有料モデルに寄っている。
- FreeSimpleGUI
- PySimpleGUIをベースにしたフォーク。
- コミュニティ主体で開発中。
- 基本機能はPySimpleGUIと互換性あり。
3. API・コード互換性
- FreeSimpleGUI は PySimpleGUI とほぼ同じコードで動く。
- 例えば、
import PySimpleGUI as sgをimport FreeSimpleGUI as sgに変えるだけでOKなケースが多い。 - 一部の新機能やテーマはPySimpleGUI固有なので注意。
4. GUI機能
- 基本ウィジェット(ボタン、テキスト、入力欄、テーブルなど):どちらも同等。
- テーマ機能:FreeSimpleGUIもサポート。
- 複雑なウィジェットや最新の追加機能(グラフやカレンダーなど):PySimpleGUIにしかない場合あり。
5. インストール
# FreeSimpleGUI のインストール pip install FreeSimpleGUI
✅ 結論
- 個人開発や無料で制限なく使いたい → FreeSimpleGUI
- 商用サポートやPySimpleGUI独自機能が必要 → PySimpleGUI(有料)
💡 質問
あなたのGUIアプリは、基本的なフォームやボタン、テキスト中心ですか?
それとも、グラフや画像、タブ付きUIなど高度なUI要素を使う予定ですか?
→ 使う予定の機能を教えてくれたら、FreeSimpleGUIで問題ないか判断します!
あなた:
FreeSimpleGUIのサイトにPySimpleGUIのいろいろなデモがあったので、ダウンロードして import PySimpleGUI as sg の部分をPySimpleGUIからFreeSimpleGUIに変更して実行してみると、やりたい機能はFreeSimpleGUIで満足できそうです。
それから教えていただいた手順でここまで来ていますが、今の環境は仮想環境ということでいいですか?
さらにその環境から source .venv/bin/activateで有効化、deactivateで終了 としていけば良いですか?
ChatGPT:
はい、その通りです。今の状況を整理すると:
✅ 今の環境は仮想環境か?
- あなたが作業ディレクトリで
python -m venv .venvを実行して、その後source .venv/bin/activateを行っている場合、現在の開発環境は仮想環境 (.venv) です。 pip listを実行して、FreeSimpleGUIが表示されていれば、その仮想環境にインストールされています。
✅ 仮想環境の使い方
- 有効化:
source .venv/bin/activate(Windowsなら.\.venv\Scripts\activate) - 無効化(終了):
deactivate - VS Codeで便利に使う方法
- コマンドパレット(
Ctrl+Shift+P)で「Python: Select Interpreter」を選び、.venvを選択すると、そのプロジェクト専用の仮想環境でVS Codeが動きます。 - これを設定すれば、ターミナルを開いたときも自動的に
.venvが有効化されることが多いです。
- コマンドパレット(
✅ FreeSimpleGUIを選んでよいか?
FreeSimpleGUIはPySimpleGUI互換を目指しているので、基本的に以下の特徴があります:
- 利点
- MITライセンス(商用利用しやすい)
- PySimpleGUIの多くの機能をカバー
- オープンソースでメンテナンス性が高い
- 日本語情報が増えつつある
- 注意点
- 完全な互換ではない(全てのPySimpleGUI機能をカバーしているわけではない)
- PySimpleGUIの最新機能やサポートは追従が遅れる場合あり
結論:
あなたが試したデモが動作し、やりたい機能が満たせるなら、FreeSimpleGUIで進めるのは十分良い選択です。
特に商用利用やライセンスを気にする場合はFreeSimpleGUIが有利です。
次にやるべきこととしては、
✅ FreeSimpleGUIで基本的なGUIアプリを1つ完成させる
✅ requirements.txt を作成して依存関係を管理する(デプロイの準備)
必要なら、FreeSimpleGUIで使えるサンプル集やPyInstallerでのEXE化方法もまとめて出せますが、どうしますか?
あなた:
是非お願いします。
ChatGPT:
はい、仮想環境で進めるのは正解です。FreeSimpleGUIを使ってGUIアプリを作成する場合、依存関係を整理しやすく、後でPyInstallerなどで単体実行ファイル(exeやAppImage)にまとめやすくなります。
✅ 現在の状態
.venvという名前の仮想環境を作成済み。source .venv/bin/activateで有効化、deactivateで無効化が可能。- FreeSimpleGUIをインストール済み。
✅ 今後の作業の流れ
- 仮想環境を有効化
source .venv/bin/activate→ コマンドラインの先頭に(venv)が表示されればOK。 - 必要なパッケージをインストール
例:pip install FreeSimpleGUI pip install pillow # 画像を扱うなら pip install pyinstaller # exeや単体実行ファイル化のため - GUIアプリを開発
例:main.pyにFreeSimpleGUIを使ってUIを構築。 - 単体実行ファイルに変換
PyInstallerで実行可能ファイルを作る:pyinstaller --onefile --windowed main.py--onefile→ 単一の実行ファイルにまとめる。--windowed→ コンソールウィンドウを表示しない(GUI専用)。
dist/mainに生成。
✅ FreeSimpleGUIとPySimpleGUIの違い
- FreeSimpleGUI は PySimpleGUIのフォーク版 で、オープンソース・GPLライセンス。
- PySimpleGUIは 商用利用やPyInstallerでの配布に制限 があり、GPL互換でないコードも含まれていました。
- FreeSimpleGUIの特徴
- 完全にオープンソース。
- PySimpleGUIとほぼ同じAPIなので互換性高い。
- PyInstallerでの配布OK(PySimpleGUIは制約あり)。