📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
 
357行目: 357行目:
==== 実行ファイルの作成 ====
==== 実行ファイルの作成 ====
基本的なコマンド構文はWindowsと同様である、<code>--add-data</code> オプションの区切り文字がコロン (<code>:</code>) になることに注意する。<br>
基本的なコマンド構文はWindowsと同様である、<code>--add-data</code> オプションの区切り文字がコロン (<code>:</code>) になることに注意する。<br>
# CLIアプリケーションの場合
  pyinstaller --onefile \
  pyinstaller --onefile \
     --add-data "config.ini:." \
     --add-data "config.ini:." \
     --add-data "resources:resources" \
     --add-data "resources:resources" \
     main.py
     main.py
<br>
GUIアプリケーションの場合は、X11環境が必要となる。<br>
# GUIアプリケーションの場合
  pyinstaller --onefile --noconsole \
  pyinstaller --onefile --noconsole \
     --add-data "config.ini:." \
     --add-data "config.ini:." \
369行目: 370行目:
     main.py
     main.py
<br>
<br>
<center>
{| class="wikitable"
|+ PyInstallerによるビルドと実行時の環境要件
|-
! 項目 !! 説明
|-
| ビルド時 || PyInstallerのビルドプロセス自体はコマンドラインで実行するため、ディスプレイサーバー (X11 / Wayland) は不要
|-
| 実行時 || 使用するGUIツールキットに依存する
|}
</center>
<br>
下表に、GUIツールキットのWayland対応状況を示す。<br>
<br>
<center>
{| class="wikitable"
|+ Python GUIツールキットのWayland対応状況 (2025年1月時点)
|-
! ツールキット !! Wayland対応 !! 備考
|-
| Qt5 / Qt6 || ネイティブサポート || qt5-wayland / qt6-wayland パッケージのインストールが必要となる。<br>環境変数 <code>QT_QPA_PLATFORM=wayland</code> で明示的に指定可能
|-
| PyQt5 / PyQt6 / PySide6 || ネイティブサポート || QtのPythonバインディングのため、Qt同様にWaylandをネイティブサポート
|-
| GTK3 / GTK4 || ネイティブサポート || GTK3はバージョン3.20以降で完全サポート<br>GTK4はWayland優先設計
|-
| Kivy || SDL2経由でサポート || OpenGL ES 2.0とSDL2上に構築<br>SDL2がWayland対応のため、間接的にサポート
|-
| wxWidgets (wxPython) || GTK経由でサポート || LinuxではGTKバックエンドを使用するため、GTK経由でWaylandをサポート<br>ただし、クリップボードやドラッグ&ドロップ等で一部制限あり
|-
| Tkinter || 非対応 (XWayland経由で動作) || Tcl/TkがX11ベースで設計されているため、ネイティブ非対応<br>XWayland互換レイヤー経由で動作可能<br><br>将来的なWayland対応は検討中だが、現時点では未実装
|}
</center>
<br>
==== specファイルを使用した設定 ====
==== specファイルを使用した設定 ====
Linuxでのspecファイルは、パス区切り文字がスラッシュになる点を除き、Windowsとほぼ同じ構造である。<br>
Linuxでのspecファイルは、パス区切り文字がスラッシュになる点を除き、Windowsとほぼ同じ構造である。<br>