为 python windows 10 安装 PyObjC 库时出错

问题描述

我想创建一个私人助理是为了好玩。我导入了 playsound 模块和 gTTS 模块。他们都没事。但是谷歌 tts 听起来像过去的 tts。它听起来不像我正在关注的视频中那样好。所以我认为这可能是因为我没有安装模块“PyObjC”的问题,但视频中的那个人安装了。所以我还需要知道这是否是 tts 听起来不同的原因。

所以,当我尝试在 pycharm 中安装 PyObjC 模块时,我发现了以下错误

我尝试使用此命令进行安装

pip install pyobjc

最后说

ERROR: Could not find a version that satisfies the requirement pyobjc-framework-CoreWLAN
ERROR: No matching distribution found for pyobjc-framework-CoreWLAN

这是完整的日志

Collecting PyObjC
  Downloading pyobjc-7.1-py3-none-any.whl (3.0 kB)
Collecting pyobjc-framework-discRecordingUI==7.1
  Downloading pyobjc_framework_discRecordingUI-7.1-py2.py3-none-any.whl (4.2 kB)
Collecting pyobjc-framework-ServiceManagement==7.1
  Downloading pyobjc_framework_ServiceManagement-7.1-py2.py3-none-any.whl (4.4 kB)
Collecting pyobjc-framework-AppleScriptKit==7.1
  Downloading pyobjc_framework_AppleScriptKit-7.1-py2.py3-none-any.whl (3.8 kB)
Collecting pyobjc-framework-NetFS==7.1
  Downloading pyobjc_framework_NetFS-7.1-py2.py3-none-any.whl (3.7 kB)
Collecting pyobjc-framework-LaunchServices==7.1
  Downloading pyobjc_framework_LaunchServices-7.1-py2.py3-none-any.whl (3.3 kB)
Collecting pyobjc-framework-CoreAudioKit==7.1
  Downloading pyobjc-framework-CoreAudioKit-7.1.tar.gz (18 kB)
    ERROR: Command errored out with exit status 1:
     command: 'f:\tutorial stuffs\python stuffs\python projects\jarvisai\venv\scripts\python.exe' -c     'import sys,setuptools,tokenize; sys.argv[0] = '"'"'C:\\Users\\Lenovo\\AppData\\Local\\Temp\\pip-install-g
kyklypv\\pyobjc-framework-coreaudiokit_3c513b6869b344269cf01d2f0d88825d\\setup.py'"'"'; __file__='"'"'C:\\Users\\Lenovo\\AppData\\Local\\Temp\\pip-install-gkyklypv\\pyobjc-framework-coreaudiokit_3c513b6869b344
269cf01d2f0d88825d\\setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))' egg_info --egg
-base 'C:\Users\Lenovo\AppData\Local\Temp\pip-pip-egg-info-cx4g0zlj'
     cwd: C:\Users\Lenovo\AppData\Local\Temp\pip-install-gkyklypv\pyobjc-framework-   coreaudiokit_3c513b6869b344269cf01d2f0d88825d\
Complete output (9 lines):
Traceback (most recent call last):
  File "<string>",line 1,in <module>
  File "C:\Users\Lenovo\AppData\Local\Temp\pip-install-gkyklypv\pyobjc-framework-coreaudiokit_3c513b6869b344269cf01d2f0d88825d\setup.py",line 28,in <module>
    Extension(
  File "C:\Users\Lenovo\AppData\Local\Temp\pip-install-gkyklypv\pyobjc-framework-coreaudiokit_3c513b6869b344269cf01d2f0d88825d\pyobjc_setup.py",line 414,in Extension
    os_level = get_os_level()
  File "C:\Users\Lenovo\AppData\Local\Temp\pip-install-gkyklypv\pyobjc-framework-coreaudiokit_3c513b6869b344269cf01d2f0d88825d\pyobjc_setup.py",line 200,in get_os_level
    with open("/System/Library/CoreServices/SystemVersion.plist","rb") as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/System/Library/CoreServices/SystemVersion.plist'
----------------------------------------
WARNING: discarding     https://files.pythonhosted.org/packages/49/5f/8fa17896dc615bf693934dd96a4902ac3b2887a12bc8ddd547b8fed733b7/pyobjc-framework-CoreAudioKit-7.1.tar.gz#sha256=64754be56061b879915d840e0c98f4a6e0
c1135d0cfd3737a08fbbfb138403f7 (from https://pypi.org/simple/pyobjc-framework-coreaudiokit/) (requires-python:>=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Collecting PyObjC
  Downloading pyobjc-7.0.1-py3-none-any.whl (3.1 kB)
Collecting pyobjc-framework-Quartz==7.0.1
  Downloading pyobjc-framework-Quartz-7.0.1.tar.gz (3.3 MB)
 |████████████████████████████████| 3.3 MB 125 kB/s

通过这种方式,它会尝试检查所有可用的版本,最后显示的是这个

WARNING: discarding https://files.pythonhosted.org/packages/ce/dd/0f24ca4105b654465251150d6fdee3e134b92e33d91cbd0455a80e0b99f3/pyobjc-2.2.tar.gz#sha256=b921d5dea8e21279bd5fb5f28bf87f0dbbae252b5fb7ce8e54d0552b2
b3a3168 (from https://pypi.org/simple/pyobjc/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Cannot install pyobjc==4.1,pyobjc==4.2,pyobjc==4.2.1,pyobjc==4.2.2,pyobjc==5.0,pyobjc==5.1,pyobjc==5.1.1,pyobjc==5.1.2,pyobjc==5.2,pyobjc==5.3,pyobjc==6.0,pyobjc==6.0.1,pyobjc==6.1,pyobjc==
6.2,pyobjc==6.2.1,pyobjc==6.2.2,pyobjc==7.0,pyobjc==7.0.1 and pyobjc==7.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    pyobjc 7.1 depends on pyobjc-framework-CoreAudioKit==7.1
    pyobjc 7.0.1 depends on pyobjc-framework-Quartz==7.0.1
    pyobjc 7.0 depends on pyobjc-framework-CoreMIDI==7.0
    pyobjc 6.2.2 depends on pyobjc-framework-CoreData==6.2.2
    pyobjc 6.2.1 depends on pyobjc-core==6.2.1
    pyobjc 6.2 depends on pyobjc-framework-Cocoa==6.2
    pyobjc 6.1 depends on pyobjc-framework-WebKit==6.1
    pyobjc 6.0.1 depends on pyobjc-framework-FSEvents==6.0.1; platform_release >= "9.0"
    pyobjc 6.0 depends on pyobjc-framework-CoreServices==6.0
    pyobjc 5.3 depends on pyobjc-framework-CoreData==5.3
    pyobjc 5.2 depends on pyobjc-framework-CoreText==5.2
    pyobjc 5.1.2 depends on pyobjc-framework-FSEvents==5.1.2; platform_release >= "9.0"
    pyobjc 5.1.1 depends on pyobjc-framework-WebKit==5.1.1
    pyobjc 5.1 depends on pyobjc-framework-ScreenSaver==5.1
    pyobjc 5.0 depends on pyobjc-core==5.0
    pyobjc 4.2.2 depends on pyobjc-framework-CoreText==4.2.2
    pyobjc 4.2.1 depends on pyobjc-framework-SecurityInterface==4.2.1
    pyobjc 4.2 depends on pyobjc-core==4.2
    pyobjc 4.1 depends on pyobjc-framework-Quartz==4.1

To fix this you Could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

解决方法

PyObjC 是适用于 macOS 的 Python 包的集合,无法安装在 Windows(或 Linux)上

,

错误已解决。 pyObjC 需要 64 位 python setup.exe,但我安装了 32 位版本的 python。这导致了问题。您需要安装 64 位 python 安装文件,这应该可以解决此错误....