Skip to content

Instantly share code, notes, and snippets.

@natevw
Last active July 13, 2024 12:35
Show Gist options
  • Save natevw/3e6fc929aff358b38c0a to your computer and use it in GitHub Desktop.
Save natevw/3e6fc929aff358b38c0a to your computer and use it in GitHub Desktop.
how I got FlatCAM 8.1 working on OS X [a long time ago — see comment thread for lots of good tips from others!]
brew update
brew install pyqt geos spatialindex
easy_install pip
pip install virtualenv
cd Development/Others\'/
mkdir FlatCAM
cd FlatCAM
virtualenv env
source env/bin/activate
pip install numpy matplotlib rtree scipy shapely simplejson
# copy contents of FlatCAM_8.1.zip into FlatCAM folder
python FlatCAM.py
@dhysuiej
Copy link

Does anyone know whether a version of FlatCAM compatible with macOS Catalina could be built directly on Github Actions?

I'm currently following the steps in this video, but it's taking me too long to install pyqt via homebrew.

@jimwildman
Copy link

jimwildman commented Jun 17, 2023 via email

@SurathepThonthan
Copy link

FlatCAM_beta_8.994_sources % python FlatCAM.py

Traceback (most recent call last):
File "/Users//FlatCAM/FlatCAM_beta_8.994_sources/FlatCAM.py", line 6, in
from app_Main import App
File "/Users//FlatCAM/FlatCAM_beta_8.994_sources/app_Main.py", line 47, in
from appCommon.Common import LoudDict
File "/Users//FlatCAM/FlatCAM_beta_8.994_sources/appCommon/Common.py", line 88, in
class LoudUniqueList(list, collections.MutableSequence):
^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'MutableSequence'

plc help me

@alexcode9
Copy link

if you are using python 3.10+ change import collection in appCommon/Common.py to

import collection.abc
collections.Iterable = collections.abc.Iterable
collections.Mapping = collections.abc.Mapping
collections.MutableSet = collections.abc.MutableSet
collections.MutableMapping = collections.abc.MutableMapping

@alexrohde42
Copy link

alexrohde42 commented Mar 15, 2024

if you are using python 3.10+ change import collection in appCommon/Common.py to

import collection.abc
collections.Iterable = collections.abc.Iterable
collections.Mapping = collections.abc.Mapping
collections.MutableSet = collections.abc.MutableSet
collections.MutableMapping = collections.abc.MutableMapping

After that I get the error ModuleNotFoundError: No module named 'ezdxf.math.vector'
Module ezdxf is installed

How can I fix it?

Thanks for an reply

@FlyingSamson
Copy link

After that I get the error ModuleNotFoundError: No module named 'ezdxf.math.vector'

This was fixed on the Beta branch in this commit
See also this issue

@FlyingSamson
Copy link

I'm currently in the process of getting FlatCAM build with MacPorts.

I finally got it all working, but it will still take some time until I got all newly created port files for flatcams dependencies into shape to get them into the upstream macports repo.

One thing I wanted to share here, though: The problem with

AttributeError: module 'vispy.visuals.markers' has no attribute '_marker_dict' error

is due to a "patch" in appGui/VisPyPatches.py, which has long been available in upstream VisPy. So lines 16-34 in this file can safely be removed and then flatcam also runs with newer (i.e., > 0.9.0) vispy versions.

@Isaprez
Copy link

Isaprez commented Jul 11, 2024

anyone know about this error ?

Traceback (most recent call last):
File "/Users/isai/Desktop/FlatCAM/FlatCAM.py", line 6, in
from app_Main import App
File "/Users/isai/Desktop/FlatCAM/app_Main.py", line 94, in
from appTools import *
File "/Users/isai/Desktop/FlatCAM/appTools/init.py", line 38, in
from appTools.ToolShell import FCShell
File "/Users/isai/Desktop/FlatCAM/appTools/ToolShell.py", line 19, in
import tclCommands
File "/Users/isai/Desktop/FlatCAM/tclCommands/init.py", line 75, in
module = loader.find_module(name).load_module(name)
^^^^^^^^^^^^^^^^^^
AttributeError: 'FileFinder' object has no attribute 'find_module'

@FlyingSamson
Copy link

I presume you are trying to run flatcam with python 3.12, because FileFinder.find_module, which has been deprecated since python 3.4 and removed in 3.12 (see https://docs.python.org/3.11/library/importlib.html#importlib.abc.PathEntryFinder.find_module).

So you can either switch to python < 3.12 or try to fix that line by using load_spec instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment