You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently, I tried to pip install psychopy on my M-series Mac (using Python 3.10) and I was very happy to see that it basically works 🚀. The only real blocker was PyTables not providing a wheel for macOS ARM64, but that has been resolved today and will be available in the next release (PyTables/PyTables#1050).
However, (when using the dev version of PyTables for now) pip install psychopy works, but installs over 200 packages. 130 of these packages are pyobj-related, i.e. because pyobjc is a dependency (https://github.com/psychopy/psychopy/blob/dev/pyproject.toml#L88-L90), all of these sub-packages are automatically installed:
I wanted to ask if the entire pyobjc package collection is really necessary, or if a subset of these package might also suffice. The package is only used in psychopy/iohub/devices/keyboard/darwin.py as far as I can see.
Regarding installing on ARM64, the other package that won't work is psychtoolbox, which means audio timing on mac silicon is not as good. If you want to use psychopy on M1/M2 macs then you can install intel-only python and allow rosetta to do its thing. pip install psychopy then fully works and you'll get good audio timing as well.
Regarding the necessary components of pyobjc, I know we make use of CoreFoundation, AppKit, Quartz, CoreMedia, and AVFoundation all of which come from pip install pyobjc. I'm sure there are some sub-packages installed by objc that we don't use but I don't know enough about the internal dependencies to tell you which are safe to remove. The majority of those sub-packages are a few kilobytes in size and appear to be metadata and links (see below for a few lines during install). The entire package with all the subpackages is about 20Mb, so I think our limited developer time is better spent working on other things than trying to reduce the size of the pyobjc dependency, but you're welcome to explore it and submit a PR
Recently, I tried to
pip install psychopy
on my M-series Mac (using Python 3.10) and I was very happy to see that it basically works 🚀. The only real blocker was PyTables not providing a wheel for macOS ARM64, but that has been resolved today and will be available in the next release (PyTables/PyTables#1050).However, (when using the dev version of PyTables for now)
pip install psychopy
works, but installs over 200 packages. 130 of these packages arepyobj
-related, i.e. becausepyobjc
is a dependency (https://github.com/psychopy/psychopy/blob/dev/pyproject.toml#L88-L90), all of these sub-packages are automatically installed:I wanted to ask if the entire
pyobjc
package collection is really necessary, or if a subset of these package might also suffice. The package is only used in psychopy/iohub/devices/keyboard/darwin.py as far as I can see.Related discussions in the forum:
The text was updated successfully, but these errors were encountered: