4 ms·
If it's only distributed by anaconda, it's a hard "no" for me, since anaconda breaks existing libraries. I mean I could play with miniconda, but really, a dock
by bb88 5y ago
If it's only distributed by anaconda, it's a hard "no" for me, since anaconda breaks existing libraries. I mean I could play with miniconda, but really, a docker container / flatpak would be better suited. And if I have to spend hours to try to get something to work, it's usually not worth the sunk time.
See here for the discussion.
https://github.com/CadQuery/cadquery/issues/153 https://github.com/CadQuery/cadquery/issues/153
- rowanG077 5y agoI agree with you. That's why in the past I made this issue: https://github.com/CadQuery/cadquery/issues/153 https://github.com/CadQuery/cadquery/issues/153 The developers don't seem to be receptive. But fortunately a nix flake exists: https://github.com/marcus7070/cq-flake https://github.com/marcus7070/cq-flake Takes ages to compile thought so I advice you to either be patient or add the cache.
- bb88 5y agoYeah I was reading that thread. I appreciate you opening it, frankly. They are pretty hostile to pypi devs with regards to the fact they were asking pypi to distribute their 1Gb+ python packages, rather than trying to modularize their packages to make it easier to distribute. https://github.com/CadQuery/cadquery/issues/153#issuecomment-867371860 https://github.com/CadQuery/cadquery/issues/153#issuecomment... NLTK has a method so the library can be installed through pypi and the data can be downloaded through the following method: import ntlk ntkl.download() So given what I've been reading about cadquery the less and less I want to deal with their software.
- rowanG077 5y agoIt pains me to say this but you are right on that front. The software itself is amazing to use though.
- JackMcMack 5y agoI 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.
- lbotos 5y agoI swore I saw docker images mentioned in their docs when I looked the other day?
- bb88 5y agoI haven't seen anything yet. And I'm not going to download 1GB of data to deal with a possibly shitty api/app/program when a fraction of that would suffice.
- nikitaga 5y agoFun fact, cq-editor does actually work in Docker. I haven't tested autoreloading, but the app at least launches and renders fine, "just" needed to configure X.org proxying or whatever it's called. Thankfully I ended up not needing such a setup. Cadquery works fine for me in its own separate miniconda environment. The full anaconda is not needed. If dependency resolution fails or is slow, I suggest using mamba for the cadquery / cq-editor install commands – way faster and more reliable. I'm sure you know this if you use CadQuery, just saying it for the rest of the crowd.
- bb88 5y agoAwesome. But it's not really great software if the packaging isn't reliable, is it? "Look how easy it is. All you need to do is to do is to install miniconda, and wait for it to download 1GB of software. Hope it doesn't break any installed pythons or your pythonpath or any existing packages!"
- nikitaga 5y agoI'm not sure why miniconda would break your existing python setup? It installs all packages in a separate environment, that's its main purpose. I don't know why Conda / CadQuery dependencies are so big, but I have more than enough space for them. Python is far from my favorite language, both in terms of coding and setting it up, but we're not exactly swimming in open source programmable[1] CAD solutions. There's OpenSCAD which is more limited, there's JSCAD that I haven't tried, and... that's pretty much it? CadQuery seems to be the most mature option from my limited experience, despite the annoyance with conda. [1] I'm aware that some visual CAD apps like FreeCAD have some scripting / plugin support, but it's not the same when this coding isn't the primary building interface, and those apps all have their own (significant) issues anyway.
- bb88 5y ago> I'm not sure why miniconda would break your existing python setup? It installs all packages in a separate environment, that's its main purpose. Neither am I, nor do I want to find out if it does, given their poor track record of messing with PATH and pythons and stuff.