eoyilmaz / displaycal-py3

DisplayCAL Modernization Project
https://eoyilmaz.github.io/displaycal-py3/
GNU General Public License v3.0
872 stars 61 forks source link

Error installing with pip using Python 3.12 #358

Closed AndreiVernon closed 1 month ago

AndreiVernon commented 7 months ago

Hi, I'm getting the following error when installing with pip using python 3.12:

C:\Users\USER>pip install displaycal
Collecting displaycal
  Using cached DisplayCAL-3.9.12.tar.gz (10.7 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [14 lines of output]
      <string>:20: DeprecationWarning: 'msilib' is deprecated and slated for removal in Python 3.13
      ['egg_info']
      *** C:\Program Files\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py egg_info
      using distutils
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-3dlut-maker.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-apply-profiles.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-curve-viewer.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-profile-info.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-scripting-client.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-synthprofile.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-testchart-editor.desktop
      desktopfile: C:\Users\USER\AppData\Local\Temp\pip-install-j1kbqwbl\displaycal_49b9134325e84b8786d8aea9986d6d08\DisplayCAL\..\misc\displaycal-vrml-to-x3d-converter.desktop
      error: package directory 'DisplayCAL\lib64\python312' does not exist
      [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.

Is python 3.12 not supported by the program yet? If this is the case, are there any plans to support it in the future? Thank you.

ColorfanXP commented 6 months ago

Im getting the same error and I'm using python 3.10

p5k369 commented 6 months ago

Hey @AndreiVernon, indeed the package provided by pypi does not support python 3.12 atm, that is because wxPython (the gui framework, displaycal heavily relies on, does not support python-3.12 properly atm). However you can just use the "develop" branch and should be able to run displaycal with python-3.12 if you don't mind displaycal not exiting properly. You can read about it here: https://github.com/wxWidgets/Phoenix/issues/2455 @ColorfanXP are you sure you getting the exact same error?

eoyilmaz commented 5 months ago

@AndreiVernon DisplayCAL + Python 3.12 under Windows will not install at all. Try using Python 3.11, but I fixed Windows version just recently, you need to build from source, you can follow the Menual Setup (Windows) section...

or just wait until I release 3.9.13 around one or two weeks...

AxelG-DE commented 2 months ago

in gentoo, wxpython is available now with python 3.12 My gentoo box can hardly install any software <python 3.12 (or would need a lot of geek fiddeling, wich I cannot spend the time on)

I would happily see displaycall-py get upgraded accordingly

p5k369 commented 2 months ago

Hey @AxelG-DE if you refer to the gentoo ebuild you have to contact the maintainer or build it yourself. https://packages.gentoo.org/packages/media-gfx/displaycal-py3 You won't find any distribution specific packages in this repository.

However, on Gentoo you can run displaycal with Python 3.11 or 3.12 without any problems in a virtual environment. Just follow the guide here: https://github.com/eoyilmaz/displaycal-py3/blob/develop/docs/install_instructions_linux.md#build-from-source-manual

My gentoo box can hardly install any software <python 3.12 (or would need a lot of geek fiddeling, wich I cannot spend the time on)

As I already wrote, you don't have to do that on gentoo if you are running the develop branch of displaycal because that one alreasy runs with python-3.12. But even if you don't, it is no problem at all to have two or more python versions installed on gentoo. In fact, that is exactly what I am doing. You can do that without any changes via virtualenv or, and that is the way that I prefer it, just install eselect-python and switch your interpreter on the fly. That way you literally can copy the commands from the manual setup.

eoyilmaz commented 1 month ago

closing this as the original issue related to Windows + Python 3.12 is a no no for now...

@AxelG-DE if you still require, please open a new issue related to Gentoo... which most probably going to be Gentoo maintainers business anyway... But, incase we might have introduced a bug that is preventing DisplayCAL to work properly under Gentoo, again, please open a Gentoo specific issue.

AxelG-DE commented 1 month ago

Oh sorry ladies and gentlemen, I forgot to report back here... The maintainer has updated the ebuild, where I thought it was an upstream thing.

All fine on my end now. Thanks all