xioTechnologies / Fusion

MIT License
913 stars 230 forks source link

Python 3.12 Install Issue #129

Closed votecoffee closed 9 months ago

votecoffee commented 9 months ago

I'm trying to install imufusion v1.2.0 with a python 3.12 venv. I've already installed numpy v1.26.0. I get the error below: I know python 3.12 isn't officially supported yet for this package. Any chance it could be updated?

Collecting imufusion==1.2.0 Using cached imufusion-1.2.0.tar.gz (20 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'error'

error: subprocess-exited-with-error

Getting requirements to build wheel did not run successfully. exit code: 1

[20 lines of output] Traceback (most recent call last): File "D:\~LocalWork\repos\IMUPathVibration\venv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in main() File "D:\~LocalWork\repos\IMUPathVibration\venv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\~LocalWork\repos\IMUPathVibration\venv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\votec\AppData\Local\Temp\pip-build-env-ffto6nbq\overlay\Lib\site-packages\setuptools\build_meta.py", line 355, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\votec\AppData\Local\Temp\pip-build-env-ffto6nbq\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in _get_build_requires self.run_setup() File "C:\Users\votec\AppData\Local\Temp\pip-build-env-ffto6nbq\overlay\Lib\site-packages\setuptools\build_meta.py", line 507, in run_setup super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) File "C:\Users\votec\AppData\Local\Temp\pip-build-env-ffto6nbq\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup exec(code, locals()) File "", line 1, in ModuleNotFoundError: No module named 'numpy' [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

Getting requirements to build wheel did not run successfully. exit code: 1

See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

votecoffee commented 9 months ago

I added a couple of packages as per below:

pip install pandas
pip install wheel

I now get this error:

Collecting imufusion
  Using cached imufusion-1.2.0.tar.gz (20 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: imufusion
  Building wheel for imufusion (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [5 lines of output]
      running bdist_wheel
      running build
      running build_ext
      building 'imufusion' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

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

I'll install c++ build tools and try again, but it looks like adding pandas and/or wheel is needed in python 3.12.

votecoffee commented 9 months ago

After installing MSVC c++ 2022 build tools, it installs fine. Note that as per above, I had to pip install pandas and/or wheels first. Feel free to close this if you want, but I'm leaving it open in case you want to add pandas and/or wheels to your dependencies.

xioTechnologies commented 9 months ago

Fusion v1.2.1 has just been released and supports Python 3.12.

Thank you for sharing your notes. I found was not necessary to add pandas. The only build dependencies are numpy and twine, as per lines 77 and 78 of main.yml which is running without issue.