Python 3 No Module Named AppKit

2020-08-17 17:04发布

问题:

I am trying to run an audio file in python

from playsound import playsound

def main():
    playsound('audio.mp3')

main()

However, I keep getting the following error:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/playsound.py", line 55, in _playsoundOSX
from AppKit     import NSSound
ImportError: No module named 'AppKit'

I am using Python 3.5.4 on macOS 10.12.6. I have tried installing it via pip but I am returned this error:

Using cached AppKit-0.2.8.tar.gz
Requirement already satisfied: flask in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from appkit)
Collecting pygobject (from appkit)
Could not find a version that satisfies the requirement pygobject (from appkit) (from versions: )
No matching distribution found for pygobject (from appkit)

回答1:

If you want to use AppKit you have to install PyObjC:

pip3 install -U PyObjC

or

pip install -U PyObjC


回答2:

If anybody else stumbles upon this error when using this library, trying to do exactly as @user5124826 first stated in the question, as long as you have you have done a:

pip3 install AppKit

or

pip install AppKit

And also installed PyObjC...Wherever you have your packages installed, for example, pip when used with virtualenv will generally install packages in the path

virtualenv_name>/lib//site-packages.

Look for the AppKit package, and it will most likely be in all LOWERCASE. So it would be appkit. Just change this folder to 'AppKit', and you should be good to go