mcneel / rhino3dm

Libraries based on OpenNURBS with a RhinoCommon style
MIT License
574 stars 135 forks source link

I can not install rhino 3dm and compute-rhino3d #557

Closed eymenbilge closed 10 months ago

eymenbilge commented 10 months ago

Python version: Python 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32

PS C:\Users\ecbil> pip install rhino3dm Collecting rhino3dm Using cached rhino3dm-7.14.2.tar.gz (5.7 MB) Preparing metadata (setup.py) ... done Building wheels for collected packages: rhino3dm Building wheel for rhino3dm (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [77 lines of output] running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-311 creating build\lib.win-amd64-cpython-311\rhino3dm copying src\rhino3dm__init.py -> build\lib.win-amd64-cpython-311\rhino3dm running egg_info writing src\rhino3dm.egg-info\PKG-INFO writing dependency_links to src\rhino3dm.egg-info\dependency_links.txt writing top-level names to src\rhino3dm.egg-info\top_level.txt reading manifest file 'src\rhino3dm.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '.pyd' under directory 'src\rhino3dm' warning: no files found matching '.so' under directory 'src\rhino3dm' adding license file 'LICENSE' writing manifest file 'src\rhino3dm.egg-info\SOURCES.txt' copying src\rhino3dm\init.pyi -> build\lib.win-amd64-cpython-311\rhino3dm copying src\rhino3dm\py.typed -> build\lib.win-amd64-cpython-311\rhino3dm running build_ext Traceback (most recent call last): File "C:\Users\ecbil\AppData\Local\Temp\pip-install-6bo870xe\rhino3dm_1bb22d1b33b641b092091d36b1702a3b\setup.py", line 32, in run out = subprocess.check_output(['cmake', '--version']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 466, in check_output return run(popenargs, stdout=PIPE, timeout=timeout, check=True, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 548, in run with Popen(popenargs, **kwargs) as process: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [WinError 2] The system cannot find the file specified

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\ecbil\AppData\Local\Temp\pip-install-6bo870xe\rhino3dm_1bb22d1b33b641b092091d36b1702a3b\setup.py", line 111, in <module>
      setup(
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\__init__.py", line 87, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
      self.run_command(cmd)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\wheel\bdist_wheel.py", line 349, in run
      self.run_command("build")
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
      self.distribution.run_command(command)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
      self.run_command(cmd_name)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
      self.distribution.run_command(command)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Users\ecbil\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\ecbil\AppData\Local\Temp\pip-install-6bo870xe\rhino3dm_1bb22d1b33b641b092091d36b1702a3b\setup.py", line 34, in run
      raise RuntimeError(
  RuntimeError: CMake must be installed to build the following extensions: rhino3dm._rhino3dm
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for rhino3dm Running setup.py clean for rhino3dm Failed to build rhino3dm ERROR: Could not build wheels for rhino3dm, which is required to install pyproject.toml-based projects

Any idea why? is it because of the python version?

fraguada commented 10 months ago

I believe this is a similar issue to what we found with pybind 11 and changes in python 3.11. Another user reported the same: https://github.com/mcneel/rhino3dm/issues/558. We've updated pybind on the dev branch and this seems to fix the issue.

My recommendation is to grab the source dist, for example from here, and see if that builds for your system.

There will be a release of rhino3dm 8.0.0b2 very soon.