見出し画像

【pyxel 1.5】Pyxelアプリケーションファイル (.pyxapp)を作ってみる

pyxel 1.5以降の新バージョンでは、Pyxelアプリケーションファイルというものが作れるようになりました。従来のexe化に取って代わるもので、マルチプラットフォームなpyxelアプリが作れるとのこと。実際に作ってみたのですが、ちょっと詰まるところがあったので、備忘録として残そうと思います。

まずはPyxelアプリケーション用のディレクトリを用意します。pythonスクリプト1つだけでもとりあえず新規ディレクトリを作成。次にその中にPyxelアプリケーションで使うもの(イメージファイルとかモジュールファイルとか)を配置します。これで準備OK!

.pyxappファイルを作るコマンドは以下の書式です。

pyxel package アプリケーションのディレクトリ 起動スクリプトファイル

僕はAnaconda環境なので、Navigatorからターミナルを開いて打ち込みます。
ここで注意するのは「コマンドの実行は必ずアプリケーションディレクトリの外で行う」ということ。
実は最初アプリケーションディレクトリの中に移動してからコマンドを叩いていたんですが、なかなか終わらず、最後は.pyxappファイルがすさまじく肥大化(100GB)以上してしまいました。このコマンドはアプリケーションディレクトリの中をまとめて.pyxappとして作成するので、作った.pyxappを取り込んでまた作って取り込んでみたいなループになってた気がします。何はともあれアプリケーションディレクトリの外で実行すればちゃんと動きました。

作った.pyxappファイルは

pyxel play XXX.pyxapp

の書式で起動することができます。
pythonが入っている環境ではもちろん動きますが、pythonがなくともスタンドアロン版のpyxelを入れればパスが通りますので起動します。また、その場合はファイルをダブルクリックでも動きます。
ただ、このスタンドアロン版pyxelについては、ちょっと動作が複雑というか一筋縄ではいかない部分があるようです。
例えば
・pythonの実行パスが実際のファイルがある部分ではなく、スタンドアロン版pyxelのインストールフォルダになる。(スクリプトから相対パスで何かするような処理は使えない)
・pythonのライブラリによってはうまく動かない(tkinterはダメだった)
など。
この辺りは別のnoteにてまとめる予定です。python環境を作って実行するのが1番確実ではありますが、このお手軽さはかなり魅力的。何とかうまく使っていきたいと思います。

今回はここまで。
読んでいただきありがとうございました。


ここまで読んでいただきありがとうございます!