displaycal-py3 icon indicating copy to clipboard operation
displaycal-py3 copied to clipboard

MacOS Sonoma cannot install profile for current user

Open raylau1234 opened this issue 1 year ago β€’ 4 comments

After profiling, at the very last step when it prompts to install the profile, installing for the current user fails with:

Traceback (most recent call last):
  File "/Users/raylau/Documents/scripts/git/displaycal_venv/lib/python3.11/site-packages/wx/lib/delayedresult.py", line 267, in wrapper
    result = workerFn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/raylau/Documents/scripts/git/displaycal_venv/lib/python3.11/site-packages/DisplayCAL/worker.py", line 1842, in __call__
    result = self.producer(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/raylau/Documents/scripts/git/displaycal_venv/lib/python3.11/site-packages/DisplayCAL/worker.py", line 9408, in install_profile
    argyll_install = self._install_profile_argyll(
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/raylau/Documents/scripts/git/displaycal_venv/lib/python3.11/site-packages/DisplayCAL/worker.py", line 9889, in _install_profile_argyll
    cmd, args = self.prepare_dispwin(None, profile_path, True)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/raylau/Documents/scripts/git/displaycal_venv/lib/python3.11/site-packages/DisplayCAL/worker.py", line 13957, in prepare_dispwin
    profile_tmp_path = os.path.join(
                       ^^^^^^^^^^^^^
  File "<frozen posixpath>", line 90, in join
  File "<frozen genericpath>", line 155, in _check_arg_types
TypeError: Can't mix strings and bytes in path components

Manually installing the .icc outside of DisplayCal works.

raylau1234 avatar Dec 17 '23 22:12 raylau1234

Having the same issue. For reference for anyone else trying to work around this, you can manually copy the new profile from here:

~/Library/Application Support/DisplayCAL/storage

Inside the name of the most recent calibration there is a .icc file, copy that into:

/Library/ColorSync/Profiles/Displays/

Perhaps unrelated, but when my profile finished creation DisplayCal seems to have blacked out all of my displays so I could not see the UI to install. I know the machine was still on as audio was still playing and it responded to keyboard entry. I had to unplug my dock and plug it back in to be able to see what I was doing.

ShadeDream avatar Dec 30 '23 00:12 ShadeDream

@raylau1234 were you using the develop branch?

eoyilmaz avatar Mar 10 '24 04:03 eoyilmaz

Perhaps unrelated, but when my profile finished creation DisplayCal seems to have blacked out all of my displays so I could not see the UI to install

@ShadeDream I'm guessing there is an issue with ArgyllCMS and newer versions of MacOS. We have a related ticket for this #313

eoyilmaz avatar Mar 10 '24 04:03 eoyilmaz

@raylau1234 can you copy & paste all the outputs that DisplayCAL generates after you start the application.

eoyilmaz avatar Mar 10 '24 04:03 eoyilmaz

wasn't able to reproduce the initial issue with 3.9.12 installed via pypi as well as a custom build of develop branch. Blacking out of an external display when after calibrating the notebook display remains ... show curves and activating "Show calibration curves from video card" sometimes blacks out external or internal display - unfortunately occasionally but without discernible regularity

MStraeten avatar Apr 21 '24 07:04 MStraeten

update MacOS Sonoma 14,5 ,now the program does not work and when launched it gives an error, I reinstalled the system 4 times and still the program does not work after installation, you need to wait for the next update Or DisplayCAL-3.9.13

alfastudi avatar May 31 '24 12:05 alfastudi

I'll look into this soon πŸ‘

eoyilmaz avatar May 31 '24 13:05 eoyilmaz

3.9.12 installed via pyPi (pip install DisplayCAL) runs fine on my sonoma system:

displaycal 3.9.12 2024-03-19T22:00:30Z
Mac OS X 14.5 arm64
Python 3.9.6 (default, Mar 29 2024, 10:51:09) 

maybe provide the output shown in the terminal window

MStraeten avatar May 31 '24 21:05 MStraeten

Check if I am doing the installation correctly

  1. Download the package https://github.com/eoyilmaz/displaycal-py3 ( DisplayCAL-3.9.12.tar.gz ) I unzipped the archive into the Documents folder
  2. Check if python is installed terminal : python3 --version The system suggested installing developer tools I get the result - Python 3.9.6 3)Make sure you can run pip from the command line Terminal : python3 -m pip --version I get the result : pip 21.2.4 from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9) 4)Make sure that the items, customization tools and wheel are updated terminal: python3 -m pip install --upgrade pip setuptools wheel All components will be automatically updated. 5)Terminal: python3 -m pip install + space and drag the DisplayCAL-3.9.12 folder with the mouse 6)DisplayCAL-3.9.12 / DisplayCAL / main.py - I drag this file into the open terminal program window And the program starts.

alfastudi avatar Jun 01 '24 11:06 alfastudi

@alfastudi your steps are not quite right.

Open a terminal an run the following:

brew install [email protected]
cd ~/Documents
python3.11 -m venv displaycalvenv
source displaycalvenv/bin/activate
pip install displaycal
displaycal

Everytime you want to run displaycal again, open a terminal and run the following:

cd ~/Documents
source displaycalvenv/bin/activate
displaycal

eoyilmaz avatar Jun 01 '24 20:06 eoyilmaz

My installation 01,06,24

  1. Download the package https://pypi.org/project/DisplayCAL/#files DisplayCAL-3.9.12.tar.gz (10.7 MB просмотр Ρ…ΡΡˆΠ΅ΠΉ) Uploaded March 20, 2024 Source ( DisplayCAL-3.9.12.tar.gz ) I unzipped the archive into the Documents folder

  2. Check if python is installed terminal : python3 --version The system suggested installing developer tools I get the result - Python 3.9.6

  3. Make sure you can run pip from the command line Terminal : python3 -m pip --version I get the result: pip 21.2.4 from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)

  4. Make sure that the items, customization tools and wheel are updated terminal: python3 -m pip install --upgrade pip setuptools wheel All components will be automatically updated.

  5. Terminal: python3 -m pip install + space and drag the DisplayCAL-3.9.12 folder with the mouse

  6. Установил Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ https://github.com/Homebrew/brew/releases/tag/4.3.2 Homebrew-4.3.2.pkg

  7. DisplayCAL-3.9.12 / DisplayCAL / main.py - I drag this file into the open terminal program window And the program starts.

  8. Program DisplayCAL downloaded the components it needed And there were no more errors, the program works perfectly β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”

Thank you for support

alfastudi avatar Jun 02 '24 12:06 alfastudi

Your step 1 is not quite correct, you don't need to unzip the tar.gz file as pip can install it as directly.

And your step 7 is incorrect, don't run main.py, instead run either displaycal in the terminal or python -m displaycal. Running main.py directly prevents some other tasks to be done before running the application first.

eoyilmaz avatar Jun 09 '24 19:06 eoyilmaz

It seems the core problem has been solved... closing the issue...

eoyilmaz avatar Jun 09 '24 19:06 eoyilmaz