pythonでハマった結果brewを入れ直す。

Javascript
PHP
Python
WEBSITE制作
WEB関連
Wordpress
雑記

pythonで、py2appというタイブラリがあって、
これはpythonで作ったプログラムをmac上でアイコンをダブルクリックで開けるようにアプリ化するもの。

先日の環境では普通に動いていて、
jpgをwebpに変換するドロップレットなど作って便利に使ってた。

以前、何かをbrewで入れる際(どのタイミングか忘れた)python3.12が入ってしまい、ほっておいたのですが、何かのプログラムを組んでる時に、python3.6だとバージョンが低くて動かないってエラーが出まして、まぁせっかくだし最新のpythonも良いかなと使ってみたわけで。

そしたら、その後py2appがエラーを出す事に気付いた。
以前の python3.6 環境でpy2appには感動したものだったが、python3.12 では何故に?

検索すると、
MacのメニューバーアプリをPythonで作る(2024年3月時点)

こんなのが。。。。

うちの環境だとエラーの最後の行が
ImportError: No module named ‘rubicon’
となってたので、「rubicon-objc」というライブラリをpip3で入れれば良いなんて思って「rubicon-objc」を何度入れたのですが、改善せず、Chat-GPTさんに聞いて色々試すも同じ繰り返し。
ハマりました。

         ・
         ・
         ・
  File "/opt/homebrew/Cellar/python@3.11/3.11.9/Frameworks/Python.framework/Versions/3.11/lib/python3.11/imp.py", line 297, in find_module
    raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named 'rubicon'

うちの環境でのエラー表示の最後の方は上記の感じ。

ググって見つけたサイトの方によると、

色々調べましたが、impモジュールはPython3.8以降サポートされていないみたいでした。

とのこと。
なんと「rubicon-objc」関係ないのね。。
inp.pyって前の行に書いてますね。ここは調べなかった。

実を言うと、うちの開発環境、python3とpip3のpathがずれたりするし、あれやこれやとやって。
そのうち、brewに疑いの目が行き出して、

brew doctor

やってみると、Apple Sillicon では、Homebrewは「/usr/local」じゃなくて「/opt/homebrew」に入れなさいよ!という例のエラーが出て。
最初にbrew入れてからもう何年も経ってて、M1 macにしてから気になってたし、
もう、スッキリさせようじゃないかと吹っ切れた勢いで、いきなり「Homebrew」を削除。

いや冷や汗かきました。

もちろん、httpdやphpとかmysqlも色々homebrewで入れてたってことを忘れて消したもんだから、
特に「MySQLのDBが消えた!?」
と一瞬あせる。

まあ、実際は「/usr/local/var/mysql」にちゃんと残ってて助かったわけで。

取引先から連絡が来ない土曜日いっぱい使って、ApacheのセッティングとかMySQL8.2やnodebrewやら色々構築。
ついでだし、ちょっと色々あってdockerとかもいい加減やろうと、日曜にやってみたらこりゃなんか良いぞと今さら(笑)
node.jsとかReactもちゃんとやる環境整えて挑戦していかないとだ。。

新しいこと色々やらないと。