STD Nyokki's Lab Ⅴ

STD Nyokki's Lab Ⅴ

電子工作、バイク、パソコンを中心に記事を掲載しています。個人の日記代わりのブログです・・・

Macでpythonをpyinstallerで実行ファイル化しようとしたら面倒だった件

pythonって便利ですよね、プラットフォーム共通して色々動かすことができるのでwindowsで開発したものがそのままmacで動かすことができます、ただしドライバー関連は共通じゃないのでちょっとややこしい(自分はUSB関連でちょっと面倒でした)

 

それでちょっと今回windowsで開発したpythonプログラムをmacでApp化しようとしたらちょっと面倒だったのでメモ代わりに残しておきます。

 

結論としては、下記2つにて解決しました。

①--onefileで作るとなぜか実行できないので、--onefileオプションをつけない、つけなくてもなぜかonefileになっていたので結果おーらい

②公式からインストールしたpythonとは別にbrewからpythonをインストール

 

 

 

まず環境としては

Windows側:Anacondaを入れており、エディタはVisual Studio CodeVscode内でjupyterを入れています。

 

Mac側:エディタはVisual Studio CodeVscode内で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はこの問題があり放置していました。