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もちゃんとやる環境整えて挑戦していかないとだ。。
新しいこと色々やらないと。