注意点
後述しているが、ortools
をコメントアウトしてしまっているので、なんらかの機能に影響はあるかもしれないが、自分の場合はIsolation Routing
だけ使いたいので良しとしている。
今の所は問題なく動作している。
手順
-
Terminalをコピーして"Rosettaを使用して開く"をON
これでこのターミナル上ではIntelをエミュレーションするようにする -
MinicondaのIntel版Macインストールシェルをダウンロードする
https://github.com/conda-forge/miniforge
Miniforge3-MacOSX-x86_64
-
Miniforgeをインストールする
> bash Mambaforge-MacOSX-x86_64.sh
- python3.9仮想環境を作成
> conda create -n x64 python=3.9
> conda activate x64
- FlatCAMのソースをダウンロード
https://bitbucket.org/jpcgt/flatcam/downloads/
https://bitbucket.org/jpcgt/flatcam/downloads/FlatCAM_beta_8.994_sources.zip
-
Python3.9仮想環境で必要なパッケージをインストールする
FlatCAMのRequirements.txtを参照
※ただし、
ortools
だけパッケージが存在しない。それはスキップする。 -
FlatCAMのソースを修正する
実行すると以下のエラーが出るので修正する
File "/Applications/FlatCAM_beta_8.994/appParsers/ParseDXF.py", line 10, in <module>
from ezdxf.math.vector import Vector as ezdxf_vector
ModuleNotFoundError: No module named 'ezdxf.math.vector'
ezdxf.math
に修正
# from ezdxf.math.vector import Vector as ezdxf_vector
from ezdxf.math import Vector as ezdxf_vector
File "/Applications/FlatCAM_beta_8.994/camlib.py", line 57, in <module>
from ortools.constraint_solver import pywrapcp
ModuleNotFoundError: No module named 'ortools'
ortools
のimportをコメントアウト
#if platform.architecture()[0] == '64bit':
# from ortools.constraint_solver import pywrapcp
# from ortools.constraint_solver import routing_enums_pb2
- FlatCAMの起動
condaの仮想環境が利いている状態で以下を実行してアプリケーションが起動することを確認する。
> python FlatCAM.py
スクリプトの起動アプリを作成する
以下を参考させていただきました。
Macでシェルスクリプトを.appアイコン化する
https://qiita.com/KurosawaTsuyoshi/items/425cd484e8d7759af460
シェルの内容は、
- condaの環境設定(.bash_profileの内容)
- condaでrosetta2+python3.9環境へのActivate実行
- FlatCAM.py実行
という流れになる
__conda_setup="$('/Users/${USER}/mambaforge/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/${USER}/mambaforge/etc/profile.d/conda.sh" ]; then
. "/Users/${USER}/mambaforge/etc/profile.d/conda.sh"
else
export PATH="/Users/${USER}/mambaforge/bin:$PATH"
fi
fi
unset __conda_setup
conda activate x64
cd /Applications/FlatCAM_beta_8.994
python FlatCAM.py
アプリアイコンから起動できることを確認
ポイントはconda-forge
でIntel環境(Rosetta2)のPythonモジュールを揃えることですかね。Armのネイティブ環境だと、PyQT6はサポートしてますが、FlatCAMはPyQT5のままなのと、ほかのPythonモジュールで対応してないものがたくさんあります。
去年の11月に購入して、ほかのよく使うアプリはだいたいネイティブ化されて快適に使えてますが、FlatCAMだけ起動できずに困ってました。
やっと起動できた。長かった。。