pythonって便利ですよね、プラットフォーム共通して色々動かすことができるのでwindowsで開発したものがそのままmacで動かすことができます、ただしドライバー関連は共通じゃないのでちょっとややこしい(自分はUSB関連でちょっと面倒でした)
それでちょっと今回windowsで開発したpythonプログラムをmacでApp化しようとしたらちょっと面倒だったのでメモ代わりに残しておきます。
結論としては、下記2つにて解決しました。
①--onefileで作るとなぜか実行できないので、--onefileオプションをつけない、つけなくてもなぜかonefileになっていたので結果おーらい
②公式からインストールしたpythonとは別にbrewからpythonをインストール
まず環境としては
Windows側:Anacondaを入れており、エディタはVisual Studio Code、Vscode内でjupyterを入れています。
Mac側:エディタはVisual Studio Code、Vscode内でjupyterです。
なお、jupyterで行表示を有効化しています。
有効化方法
"notebook.lineNumbers": "on"
をsettings.jsonに加えるだけです。
それはさておき、何に詰まったかと言うと
windows環境では、anacondaの仮想環境からターミナルを開き、●●.pyがあるディレクトリへ移動してpyinstaller ●●.py --onfile --noconsole
で一発で実行ファイルであるexeが作られたのですが、
なぜか同じようにMacでやっても謎のエラーが出てきて実行ファイルが形成されませんでした。なお、実行ファイルは生成されないものの実行ファイル生成に必要なファイルは生成されるといった感じでした。(distの中に何も生成されない)
一応pyinstallerを実行した後、なんかエラーが出ているっぽく
md5.cpython-311
うんぬんかんぬんのエラーが出ていました。
その後色々記事を見ているとどうやら公式からpkg形式でインストールしたpythonではなぜかうまく行かないようで、brew経由でインストールする必要があるようです。
brewは別途macに導入してください、導入はggrばすぐ出てきます。
その後、再度pyinstallerを試したところ、実行ファイルができました!が、なぜか実行するとすぐ落ちてしまいます。と言うより実行されていない?
色々調べると--onefileオプションが使えない?模様だったので、--onefileオプションを外して再度pyinstallerを実行すると、無事起動できるようになりました。
なかなかハマりましたね・・・
ちなみに作っていたのはVFD用の時刻書き込みツール、windowsではすでにできていたものの、Macはこの問題があり放置していました。