Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在macOS 11.0 Big Sur上安装Pyobjc时出错_Python_Python 3.x_Macos_Pip_Pyobjc - Fatal编程技术网

Python 在macOS 11.0 Big Sur上安装Pyobjc时出错

Python 在macOS 11.0 Big Sur上安装Pyobjc时出错,python,python-3.x,macos,pip,pyobjc,Python,Python 3.x,Macos,Pip,Pyobjc,我在Big Sur的虚拟环境中安装库时出错。安装错误声明它“无法确定SDK版本”。我已经做了一些挖掘,看起来这个错误是由中的异常触发的 以下是错误的开始: Building wheel for pyobjc-core (setup.py) ... error ERROR: Command errored out with exit status 1: command: /Users/me/Desktop/Projects/env/bin/python3 -u -c 'import sy

我在Big Sur的虚拟环境中安装库时出错。安装错误声明它“无法确定SDK版本”。我已经做了一些挖掘,看起来这个错误是由中的异常触发的

以下是错误的开始:

Building wheel for pyobjc-core (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/me/Desktop/Projects/env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"'; __file__='"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/tmp/pip-wheel-c0phpdjv
       cwd: /private/tmp/pip-install-qixc6c89/pyobjc-core/
    copying PyObjCTest/test_specialtypecodes_methdef.py -> build/lib.macosx-11.0-x86_64-3.9/PyObjCTest
    running build_ext
    Cannot determine SDK version
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/me/Desktop/Projects/env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"'; __file__='"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/tmp/pip-record-l_v97344/install-record.txt --single-version-externally-managed --compile --install-headers /Users/me/Desktop/Projects/env/include/site/python3.9/pyobjc-core Check the logs for full command output.
下面是错误的结尾:

Building wheel for pyobjc-core (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/me/Desktop/Projects/env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"'; __file__='"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/tmp/pip-wheel-c0phpdjv
       cwd: /private/tmp/pip-install-qixc6c89/pyobjc-core/
    copying PyObjCTest/test_specialtypecodes_methdef.py -> build/lib.macosx-11.0-x86_64-3.9/PyObjCTest
    running build_ext
    Cannot determine SDK version
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/me/Desktop/Projects/env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"'; __file__='"'"'/private/tmp/pip-install-qixc6c89/pyobjc-core/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/tmp/pip-record-l_v97344/install-record.txt --single-version-externally-managed --compile --install-headers /Users/me/Desktop/Projects/env/include/site/python3.9/pyobjc-core Check the logs for full command output.
我尝试重新安装Xcode开发者工具,但没有成功,因为我认为这可能会刷新SDK引用。任何帮助都将不胜感激

  • 正在尝试安装pyobjc版本7.0
  • Python版本:3.9.03.8.2(在两种工作上都试用过,但都没有试用过)

我也遇到了这个问题,通过从
/Library/Developer/CommandLineTools/sdk
中删除符号链接和11.0以外的所有SDK,成功地解决了这个问题。不完全确定这对系统稳定性或其他软件有什么影响,但实际完成的是
pip安装pyobjc


我并不自称是MacOS开发专家,所以YMMV。

我认为这个问题现在应该解决了。因此,运行
pip-install-pyobjc
应该可以像预期的那样再次工作(针对pyobjc-7.0.1和python3.9.0进行了测试)

如果没有,您可以为当前会话临时设置SDK,并使用以下工具从头开始构建它:

SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk pip-wheel-pyobjc-core
(如果它不起作用,请检查您安装的SDK。它对我使用的是
MacOSX10.15
,只需运行
ls/Library/Developer/CommandLineTools/SDKs/
,然后查看可用的SDK。您需要Xcode CLI工具来完成此操作。) 之后,只需再次运行
pip install pyobjc
即可安装pyobjc的其余部分

对于某些框架插件,您可能需要专门设置cflags:

SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk\
CFLAGS=“-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk”\
pip-wheel pyobjc框架
同样,只需在系统上使用10.X sdk切换
MacOSX10.14.sdk


还有更多的信息,我无耻地从s.o.上窃取了这个解决方案。PyObjC应该使用二进制轮子安装(无需编译)。如果没有,请在GitHub中提交一个问题,并包括有关Python安装的信息(例如Python是如何安装的)。

这是否回答了您的问题@菲利佩,我不这么认为。我运行了'clang--version',得到了与您所说的对您有用的完全相同的输出(版本12.0.0等)。对我来说,一个不同之处是,在我的sdk目录中,我有三个条目,而不是两个:MacOSX.sdk、MacOSX10.15.sdk和MacOSX11.0.sdk。MacOSX.sdk只是一个重定向到MacOSX11.0.sdk的别名。我不太愿意尝试,因为正如您所指出的,我不知道删除其他sdk/symlink可能会有什么副作用。是的,只是运行了
pip install pyobjc
,并且没有任何问题