【问题标题】:Unable to install Kivy on MacOS10.15 using pip无法使用 pip 在 MacOS10.15 上安装 Kivy
【发布时间】:2020-06-11 18:19:09
【问题描述】:

所以到目前为止,我一直在使用 Tkinter 为 Python 项目构建我的 GUI。我想要更多的功能——Kivy 也随之而来。

  • 我正在运行 MacOS10.15.3。
  • 我安装了 Python 3.8.1,以及 Cython 0.29.15。

按照他们的文档,found here,我现在迈出了一步

pip install kivy

但是,这只会输出以下内容:

ERROR: Command errored out with exit status 1:
     command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/pip-install-jukuvgg8/kivy/setup.py'"'"'; __file__='"'"'/private/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/pip-install-jukuvgg8/kivy/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 /private/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/pip-install-jukuvgg8/kivy/pip-egg-info
         cwd: /private/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/pip-install-jukuvgg8/kivy/
    Complete output (247 lines):
    fatal: not a git repository (or any of the parent directories): .git
    Using setuptools
    User distribution detected, avoid portable command.
    Using this graphics system: OpenGL ES 2
    OSX framework used, force to x86_64 only
    OSX ARCHFLAGS are: -arch x86_64
    GStreamer framework not found, fallback on pkg-config
    GStreamer found via pkg-config
    Missing framework /Library/Frameworks/SDL2.framework
    Missing framework /Library/Frameworks/SDL2_ttf.framework
    Missing framework /Library/Frameworks/SDL2_image.framework
    Missing framework /Library/Frameworks/SDL2_mixer.framework
    SDL2 frameworks not found, fallback on pkg-config
    SDL2 found via pkg-config
    Xcode detected at b'/Applications/Xcode.app/Contents/Developer', and using OS X10.15 sdk
    WARNING: A problem occurred while running pkg-config --libs --cflags pangoft2 (code 1)

    b"Package pangoft2 was not found in the pkg-config search path.\nPerhaps you should add the directory containing `pangoft2.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'pangoft2' found\n"

    ERROR: Dependency for context.pyx not resolved: config.pxi
    ERROR: Dependency for compiler.pyx not resolved: config.pxi
    ERROR: Dependency for context_instructions.pyx not resolved: config.pxi
    ERROR: Dependency for fbo.pyx not resolved: config.pxi
    ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi
    ERROR: Dependency for instructions.pyx not resolved: config.pxi
    ERROR: Dependency for opengl.pyx not resolved: config.pxi
    ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi
    ERROR: Dependency for shader.pyx not resolved: config.pxi
    ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi
    ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi
    ERROR: Dependency for texture.pyx not resolved: config.pxi
    ERROR: Dependency for vbo.pyx not resolved: config.pxi
    ERROR: Dependency for vertex.pyx not resolved: config.pxi
    ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi
    ERROR: Dependency for cgl.pyx not resolved: config.pxi
    ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi
    ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi
    ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi
    ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi
    ERROR: Dependency for svg.pyx not resolved: config.pxi
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Actions.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/Scanning.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/Visitor.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/FlowControl.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Runtime/refnanny.pyx because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/FusedNode.py because it changed.
    Compiling /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Tempita/_tempita.py because it changed.
    [1/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/FlowControl.py
    [2/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/FusedNode.py
    [3/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/Scanning.py
    [4/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Compiler/Visitor.py
    [5/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Actions.py
    [6/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.py
    [7/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Runtime/refnanny.pyx
    [8/8] Cythonizing /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Tempita/_tempita.py
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:7241:265: error: too many arguments to function call, expected 15, have 16
      __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_var_folders_k9_4_rr59zs7055_wty, __pyx_n_s_read, 113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 113, __pyx_L1_error)
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:333:82: note: expanded from macro '__Pyx_PyCode_New'
              PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
              ~~~~~~~~~~                                                             ^~~~
    /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/code.h:122:12: note: 'PyCode_New' declared here
    PyAPI_FUNC(PyCodeObject *) PyCode_New(
               ^
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:7253:269: error: too many arguments to function call, expected 15, have 16
      __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_var_folders_k9_4_rr59zs7055_wty, __pyx_n_s_position, 297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 297, __pyx_L1_error)
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:333:82: note: expanded from macro '__Pyx_PyCode_New'
              PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
              ~~~~~~~~~~                                                             ^~~~
    /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/code.h:122:12: note: 'PyCode_New' declared here
    PyAPI_FUNC(PyCodeObject *) PyCode_New(
               ^
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:7265:274: error: too many arguments to function call, expected 15, have 16
      __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_var_folders_k9_4_rr59zs7055_wty, __pyx_n_s_get_position, 308, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 308, __pyx_L1_error)
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:333:82: note: expanded from macro '__Pyx_PyCode_New'
              PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
              ~~~~~~~~~~                                                             ^~~~
    /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/code.h:122:12: note: 'PyCode_New' declared here
    PyAPI_FUNC(PyCodeObject *) PyCode_New(
               ^
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:7277:266: error: too many arguments to function call, expected 15, have 16
      __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_var_folders_k9_4_rr59zs7055_wty, __pyx_n_s_eof, 334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 334, __pyx_L1_error)
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:333:82: note: expanded from macro '__Pyx_PyCode_New'
              PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
              ~~~~~~~~~~                                                             ^~~~
    /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/code.h:122:12: note: 'PyCode_New' declared here
    PyAPI_FUNC(PyCodeObject *) PyCode_New(
               ^
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:10053:9: error: too many arguments to function call, expected 15, have 16
            __pyx_empty_bytes  /*PyObject *lnotab*/
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/Cython/Plex/Scanners.c:333:82: note: expanded from macro '__Pyx_PyCode_New'
              PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
              ~~~~~~~~~~                                                             ^~~~
    /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/code.h:122:12: note: 'PyCode_New' declared here
    PyAPI_FUNC(PyCodeObject *) PyCode_New(
               ^
    5 errors generated.
     Unable to find pgen, not compiling formal grammar.
     warning: no files found matching 'Doc/*'
     warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
     warning: no files found matching '*.pxd' under directory 'Cython/Debugger/Tests'
     warning: no files found matching '*.pxd' under directory 'Cython/Utility'
     warning: no files found matching 'pyximport/README'
     Traceback (most recent call last):
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/unixccompiler.py", line 117, in _compile
         self.spawn(compiler_so + cc_args + [src, '-o', obj] +
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/ccompiler.py", line 910, in spawn
         spawn(cmd, dry_run=self.dry_run)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/spawn.py", line 36, in spawn
         _spawn_posix(cmd, search_path, dry_run=dry_run)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/spawn.py", line 157, in _spawn_posix
         raise DistutilsExecError(
     distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

     During handling of the above exception, another exception occurred:

     Traceback (most recent call last):
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
         dist.run_commands()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
         self.run_command(cmd)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
         cmd_obj.run()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 172, in run
         cmd = self.call_command('install_lib', warn_dir=0)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
         self.run_command(cmdname)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
         self.distribution.run_command(command)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
         cmd_obj.run()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
         self.build()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/install_lib.py", line 107, in build
         self.run_command('build_ext')
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
         self.distribution.run_command(command)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
         cmd_obj.run()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 84, in run
         _build_ext.run(self)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build_ext.py", line 340, in run
         self.build_extensions()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions
         self._build_extensions_serial()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial
         self.build_extension(ext)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 205, in build_extension
         _build_ext.build_extension(self, ext)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build_ext.py", line 528, in build_extension
         objects = self.compiler.compile(sources,
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/ccompiler.py", line 574, in compile
         self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/unixccompiler.py", line 120, in _compile
         raise CompileError(msg)
     distutils.errors.CompileError: command 'gcc' failed with exit status 1

     During handling of the above exception, another exception occurred:

     Traceback (most recent call last):
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 154, in save_modules
         yield saved
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
         yield
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 250, in run_setup
         _execfile(setup_script, ns)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 45, in _execfile
         exec(code, globals, locals)
       File "/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/setup.py", line 228, in <module>
         This version of Cython is untested with Kivy. While this version may
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
         return distutils.core.setup(**attrs)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 163, in setup
         raise SystemExit("error: " + str(msg))
     SystemExit: error: command 'gcc' failed with exit status 1

     During handling of the above exception, another exception occurred:

     Traceback (most recent call last):
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 1144, in run_setup
         run_setup(setup_script, args)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 253, in run_setup
         raise
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 131, in __exit__
         self.gen.throw(type, value, traceback)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
         yield
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 131, in __exit__
         self.gen.throw(type, value, traceback)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 166, in save_modules
         saved_exc.resume()
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 141, in resume
         six.reraise(type, exc, self._tb)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/_vendor/six.py", line 685, in reraise
         raise value.with_traceback(tb)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 154, in save_modules
         yield saved
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
         yield
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 250, in run_setup
         _execfile(setup_script, ns)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/sandbox.py", line 45, in _execfile
         exec(code, globals, locals)
       File "/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/easy_install-pto9p2ll/Cython-0.29.10/setup.py", line 228, in <module>
         This version of Cython is untested with Kivy. While this version may
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
         return distutils.core.setup(**attrs)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 163, in setup
         raise SystemExit("error: " + str(msg))
     SystemExit: error: command 'gcc' failed with exit status 1

     During handling of the above exception, another exception occurred:

     Traceback (most recent call last):
       File "<string>", line 1, in <module>
       File "/private/var/folders/k9/4_rr59zs7055_wty99dd524w0000gn/T/pip-install-jukuvgg8/kivy/setup.py", line 1073, in <module>
         setup(
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/__init__.py", line 144, in setup
         _install_setup_requires(attrs)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/__init__.py", line 139, in _install_setup_requires
         dist.fetch_build_eggs(dist.setup_requires)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/dist.py", line 716, in fetch_build_eggs
         resolved_dists = pkg_resources.working_set.resolve(
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py", line 780, in resolve
         dist = best[req.key] = env.best_match(
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1065, in best_match
         return self.obtain(req, installer)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1077, in obtain
         return installer(requirement)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/dist.py", line 786, in fetch_build_egg
         return cmd.easy_install(req)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 679, in easy_install
         return self.install_item(spec, dist.location, tmpdir, deps)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 705, in install_item
         dists = self.install_eggs(spec, download, tmpdir)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 890, in install_eggs
         return self.build_and_install(setup_script, setup_base)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 1158, in build_and_install
         self.run_setup(setup_script, setup_base, args)
       File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 1146, in run_setup
         raise DistutilsError("Setup script exited with %s" % (v.args[0],))
     distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output

一些谷歌搜索表明 a) 不应该使用 gcc? b)也许这是 SDL2 的一个问题,但不能完全解决其中任何一个问题。

感谢任何帮助!

【问题讨论】:

  • 错误消息的重要部分:未找到 GStreamer 框架,回退到 pkg-config GStreamer 通过 pkg-config 找到缺少框架 /Library/Frameworks/SDL2.framework 缺少框架 /Library/Frameworks /SDL2_ttf.framework 缺少框架 /Library/Frameworks/SDL2_image.framework 缺少框架 /Library/Frameworks/SDL2_mixer.framework SDL2 框架未找到,回退到 pkg-config 通过 pkg-config 找到的 SDL2
  • 我(不太理想)的解决方案是放弃并使用 Conda,这对于涉及许多非 python 组件的情况非常有用。
  • 嗯 - 我会安装 GStreamer,看看是否能解决问题。
  • 嗯,错误日志确实包含 GStreamer framework not found, fallback on pkg-config GStreamer found via pkg-config,这似乎表明 GStreamer 不是问题,没有?不过,我很可能不熟悉这些库。

标签: python macos user-interface kivy macos-catalina


【解决方案1】:

您可以在这里下载最新的 kivy 快照轮:

https://kivy.org/downloads/ci/osx/kivy/

(文件名中的 cp38 表示它打算与 Python3.8 一起使用)

然后运行

pip install [path to wheel file]

【讨论】:

  • 谢谢,它在不卸载 Python 3.8 的情况下解决了这个问题
【解决方案2】:
    $ brew uninstall python@3.8

当我按照 Kivy 下载网站上的说明进行操作时:

    $ brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer

由于某种原因,它重新安装了 Python@3.8。所以,使用自制软件,我卸载了 Python@3.8,卸载了 sdl2 包,并卸载了 Cython。

然后我能够运行下面的代码以使其正常工作:

    $ brew install python@3.7
    $ python3 -m pip install Cython --user
    $ python3 -m pip install kivy --user

这解决了我的问题。希望这对某人有所帮助。

【讨论】:

    【解决方案3】:

    为了解决这个问题 - 我从我的 Mac 中删除了 Python 3.8,并在其位置安装了最新版本的 Python 3.7。

    然后我运行 Kivy 安装说明中列出的使用 Homebrew 的命令:

    $ brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
    $ pip install Cython==0.29.10
    $ pip install kivy
    

    【讨论】:

      【解决方案4】:

      在终端中运行这两个命令:

      rm -rf $(brew --repo homebrew/core)
      brew tap homebrew/core
      

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 2019-10-02
      • 2021-04-27
      相关资源
      最近更新 更多