3 ms·
I tried CADQuery in the past, but struggled with the setup. With a very limited python background, it was suprisingly difficult to understand what prerequisites
by JackMcMack 5y ago
I tried CADQuery in the past, but struggled with the setup. With a very limited python background, it was suprisingly difficult to understand what prerequisites are required.
I already have python installed. Why do I need anaconda? What is anaconda? "A data science toolkit" (from their website) ? Why do I need that?
Why can't I just "pip install cadquery" and expect it to work?
It turns out conda is an alternative package manager for python, and cadquery is only distributed via conda, not pip. I'm surprised this basic bit of information is (still) not explained in the docs.
The issue you created finally explained _why_ to me, so thanks for that :)
The problem is that cadquery depends on OpenCascade Technology (OCCT), a 3D geometry library. A full build is ~1.5GB, and it is the reason why the download for CadQuery is so big.
PyPI is not meant for such large packages, and currently has no mechanism to allow for out of bounds binary downloads.
- aothms 5y agoOCCT is both large and also takes a long time to compile. With conda-forge there is a good mechanism for CI/CD builds of this complexity. Other OpenCASCADE-based python modules (pythonOCC for ex) are also on conda for similar reasons, so from an ecosystem point of view it makes sense. Given that developers have limited time I understand that they rather work on features than fighting with the various build systems and python package managers, and simply choose what's most appropriate on paper. That said, if you need to mix various modules on conda it can really be a challenge to find a conflict-free configuration, I agree.