CadQuery / cadquery

A python parametric CAD scripting framework based on OCCT
https://cadquery.readthedocs.io
Other
3.26k stars 295 forks source link

Cannot install CadQuery via pip on Scientific Linux OS #1194

Open helen-brooks opened 2 years ago

helen-brooks commented 2 years ago

Description of Issue

I have been unable to install cadquery 2.x via pip on a system where the OS is Scientific Linux. This is within the context of a fairly complex project which historically has had some trouble with conda, and therefore I have a desire to avoid conda unless necessary. I do not have root permissions on the system in question. I'm operating in a virtual python environment, with python version 3.8.2 and pip version 22.3.1

So far I have tried installing via

In all cases I get errors looking like

ERROR: Could not find a version that satisfies the requirement cadquery-ocp<7.7,>=7.6 (from cadquery[dev]) (from versions: none)
ERROR: No matching distribution found for cadquery-ocp<7.7,>=7.6

In attempt to install cadquery-ocp 7.6 directly I have tried:

all to no avail.

Related Issues

I'm not sure, this issue seemed similar but different: https://github.com/CadQuery/cadquery/issues/1182

Desired outcome

I'm raising this issue to find out if there's a fix to any of the above that will result in a route to install this package via pip on Scienfic Linux. Any help would be appreciated!

More detailed outputs

Here's the output of lsb_release -a

LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Scientific
Description:    Scientific Linux release 7.9 (Nitrogen)
Release:    7.9
Codename:   Nitrogen

Output of pip install cadquery==2.2.0b2

Collecting cadquery==2.2.0b2
  Using cached cadquery-2.2.0b2-py3-none-any.whl (142 kB)
Collecting nlopt
  Using cached nlopt-2.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (424 kB)
Collecting casadi
  Using cached casadi-3.5.5-cp38-none-manylinux1_x86_64.whl (34.2 MB)
Collecting multimethod<2.0,>=1.7
  Using cached multimethod-1.9-py3-none-any.whl (10 kB)
Collecting ezdxf
  Using cached ezdxf-0.18.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.1 MB)
ERROR: Ignored the following versions that require a different python version: 0.7 Requires-Python ~=2.7, >=3.4
ERROR: Could not find a version that satisfies the requirement cadquery-ocp<7.7,>=7.6 (from cadquery) (from versions: none)
ERROR: No matching distribution found for cadquery-ocp<7.7,>=7.6

Output of pip install git+https://github.com/CadQuery/cadquery.git

Collecting git+https://github.com/CadQuery/cadquery.git
  Cloning https://github.com/CadQuery/cadquery.git to /tmp/pip-req-build-ejsk6mcy
  Running command git clone --filter=blob:none --quiet https://github.com/CadQuery/cadquery.git /tmp/pip-req-build-ejsk6mcy
  Resolved https://github.com/CadQuery/cadquery.git to commit 03c3266b8d61d487349a15f73d3b3cb13bce625f
  Preparing metadata (setup.py) ... done
ERROR: Could not find a version that satisfies the requirement cadquery-ocp<7.7,>=7.6 (from cadquery) (from versions: none)
ERROR: No matching distribution found for cadquery-ocp<7.7,>=7.6

Output of - pip install cadquery-ocp

ERROR: Could not find a version that satisfies the requirement cadquery-ocp (from versions: none)
ERROR: No matching distribution found for cadquery-ocp

Output of pip install cadquery_ocp-7.6.3a0-cp310-cp310-manylinux_2_31_x86_64.whl

ERROR: cadquery_ocp-7.6.3a0-cp310-cp310-manylinux_2_31_x86_64.whl is not a supported wheel on this platform.

Output of pywrap all ocp.toml [executed from OCP source code]

clang.cindex.LibclangError: lib/libclang.so: cannot open shared object file: No such file or directory. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().

(This was truncated from a very long traceback).

fpq473 commented 2 years ago

ERROR: cadquery_ocp-7.6.3a0-cp310-cp310-manylinux_2_31_x86_64.whl is not a supported wheel on this platform.

You can check a platform's supported wheels using pip debug --verbose. I think SL7 supports manylinux_2_17 policy but not cadquery-ocp's requirement of manylinux_2_31. You can also use this table to see which distros support which policies.

This is a known limitation and I think using conda would be the easiest way forward.