[PYTHON] Überprüfen Sie! Fehlerbehebung bei der Installation von PyObjc auf einem Mac

Hallo, das ist @dz_ this und Ohira Kazumi.

Prolog-Einführung

Ich bin während des Vorgangs auf einige Installationen von PyObjc gestoßen, daher werde ich eine Erinnerung behalten.

#PyObjc einführen (Update)
$ pip install -U pyobjc

Arbeitsumgebung

Fehlerbehebung

tool'xcodebuild 'erfordert Xcode und Fehler

Fehlerinhalt

Der Fehler ist, dass "xcodebuild" Xcode selbst anstelle des Befehlszeilentools anfordert.

$ sudo pip install -U pyobjc

Collecting pyobjc
  Using cached pyobjc-3.1.1.tar.gz
Collecting py2app>=0.10 (from pyobjc)
  Using cached py2app-0.10.tar.gz
Collecting pyobjc-core==3.1.1 (from pyobjc)
  Using cached pyobjc-core-3.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/pyobjc_core.egg-info
    writing include/pyobjc-compat.h to pip-egg-info/pyobjc_core.egg-info/include/pyobjc-compat.h
    writing include/pyobjc-api.h to pip-egg-info/pyobjc_core.egg-info/include/pyobjc-api.h
    writing pip-egg-info/pyobjc_core.egg-info/PKG-INFO
    writing namespace_packages to pip-egg-info/pyobjc_core.egg-info/namespace_packages.txt
    writing top-level names to pip-egg-info/pyobjc_core.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/pyobjc_core.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/pyobjc_core.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found
    
    xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    Traceback (most recent call last):

...<Abkürzung>...
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/lc/x_6095kd7xz1x7cjkp7vnmsm0000gp/T/pip-build-Aq79NE/pyobjc-core/

Bewältigung

Bitte installieren Sie Xcode aus dem Mac App Store.

Fehler mit "Sie haben den Xcode-Lizenzvereinbarungen nicht zugestimmt"

Fehlerinhalt

Wenn die folgende Fehlermeldung angezeigt wird, haben Sie die xcode-Lizenz nicht akzeptiert.

$ sudo pip install -U pyobjc

Password:

Collecting pyobjc
  Downloading pyobjc-3.1.1.tar.gz
Collecting py2app>=0.10 (from pyobjc)
  Downloading py2app-0.10.tar.gz (1.7MB)
    100% |████████████████████████████████| 1.7MB 694kB/s 
Collecting pyobjc-core==3.1.1 (from pyobjc)
  Downloading pyobjc-core-3.1.1.tar.gz (2.2MB)
    100% |████████████████████████████████| 2.2MB 564kB/s 
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/pyobjc_core.egg-info
    writing include/pyobjc-compat.h to pip-egg-info/pyobjc_core.egg-info/include/pyobjc-compat.h
    writing include/pyobjc-api.h to pip-egg-info/pyobjc_core.egg-info/include/pyobjc-api.h
    writing pip-egg-info/pyobjc_core.egg-info/PKG-INFO
    writing namespace_packages to pip-egg-info/pyobjc_core.egg-info/namespace_packages.txt
    writing top-level names to pip-egg-info/pyobjc_core.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/pyobjc_core.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/pyobjc_core.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found
    
    
    You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements.

...<Abkürzung>...

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-qqJvg7/pyobjc-core/

Bewältigung

Akzeptiere die Lizenz mit xcodebuild.

#Akzeptieren Sie die Xcode-Lizenz
$ sudo xcodebuild -license

Password:


You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

Wenn Sie hier die Eingabetaste drücken, wird das Dokument zur Lizenzvereinbarung angezeigt. Verwenden Sie daher die Leertaste, um nach unten zu lesen.

...<Abkürzung>...

By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel]

Wenn Sie dies sehen, geben Sie "Zustimmen" ein, um die Lizenzannahme abzuschließen.

You can view the license agreements in Xcode's About Box, or at /Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf

Fehler in pyobjc-framework-AVKit

Fehlerinhalt

$ sudo pip install -U pyobjc

Password:

Collecting pyobjc
  Downloading pyobjc-3.1.1.tar.gz
Collecting py2app>=0.10 (from pyobjc)
  Downloading py2app-0.10.tar.gz (1.7MB)
    100% |████████████████████████████████| 1.7MB 562kB/s 
Collecting pyobjc-core==3.1.1 (from pyobjc)
  Downloading pyobjc-core-3.1.1.tar.gz (2.2MB)
    100% |████████████████████████████████| 2.2MB 595kB/s 
Collecting pyobjc_framework-AVKit==3.1.1 (from pyobjc)
  Downloading pyobjc-framework-AVKit-3.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/tmp/pip-build-8BPKlF/pyobjc-framework-AVKit/setup.py", line 35, in <module>
        if fn.startswith('_AVKit')
      File "pyobjc_setup.py", line 496, in setup
        **k
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 239, in __init__
        self.fetch_build_eggs(attrs.pop('setup_requires'))
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 263, in fetch_build_eggs
        parse_requirements(requires), installer=self.fetch_build_egg
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 580, in resolve
        raise VersionConflict(dist,req) # XXX put more info here
    pkg_resources.VersionConflict: (pyobjc-core 2.5.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC), Requirement.parse('pyobjc-core>=3.1.1'))
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-8BPKlF/pyobjc-framework-AVKit/

Ursachenanalyse

        raise VersionConflict(dist,req) # XXX put more info here
    pkg_resources.VersionConflict: (pyobjc-core 2.5.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC), Requirement.parse('pyobjc-core>=3.1.1'))

Anscheinend hat die Version von pyobjc-core 2.5.1 installiert, aber 3.1.1 ist erforderlich.

Bewältigung

#Zeigen Sie eine Liste der von pip installierten Pakete an
$ pip list

...<Abkürzung>...

pyobjc-core (2.5.1)

...<Abkürzung>...

Ich habe versucht, explizit mit "sudo pip install -U pyobjc-core" zu aktualisieren, aber es war "[Errno 1] Operation nicht erlaubt" und konnte nicht hochgeladen werden.

Aus diesem Grund habe ich explizit eine andere Python-Version als die Systemvorgabe installiert, um damit umzugehen. Es wird empfohlen, "anyenv" für die Versionsverwaltung jeder Sprache zu verwenden. (Referenz: Verwenden Sie phpenv mit Check! Anyenv (Mac OS X))

#Überprüfen Sie die Python-Version
$ python --version
Python 2.7.10

#Überprüfen Sie die Version von pip
$ pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages (python 2.7)

#Installieren Sie pyenv mit anyenv
$ anyenv install pyenv

#Laden Sie die Shell neu
$ exec $SHELL -l

# python 3.5.2 installieren
$ pyenv install 2.7.12

#Überprüfen Sie die installierte Version
$ pyenv versions
* system (set by /Users/user/.anyenv/envs/pyenv/version)
  2.7.12

# python 2.7.Aktivieren Sie 12
$ pyenv global 2.7.12

#Update von pip
$ pip install --upgrade pip

Wenn ich "pyobjc-core" in diesem Zustand installiert habe, wurde es normal abgeschlossen.

# pyobjc-Kerninstallation
$ pip install -U pyobjc-core
Collecting pyobjc-core
  Using cached pyobjc-core-3.1.1.tar.gz
Installing collected packages: pyobjc-core
  Running setup.py install for pyobjc-core ... done
Successfully installed pyobjc-core-3.1.1

Es gibt kein Problem, wenn Sie pyobjc selbst anstelle von pyobjc-core hier installieren (aktualisieren).

Epilog-Fazit

Eigentlich ist es eine Fehlerbehebung, wenn versucht wird, pyBluez auf dem Mac zu installieren, aber selbst wenn ich die Installation von PyObjc lösche, hat das wesentliche pyBluez das folgende Problem Ich konnte es nicht installieren ... Es endete mitten in meinem Ehrgeiz. (Das Problem mit pyBluez wurde übrigens behoben und wird bald in der Version erscheinen.)

Recommended Posts

Überprüfen Sie! Fehlerbehebung bei der Installation von PyObjc auf einem Mac
Hinweise zur Installation von dlib auf einem Mac
Hinweise zur Installation von pipenv auf Ihrem Mac
Unterstützung bei der Installation von Pillon auf Python3.9
Fehler und Lösung bei der Installation von Python3 mit Homebrew auf einem Mac (Catalina 10.15)
Fehlerbehebung bei der Installation von numba unter macOS
Warnung bei Verwendung von TensorFlow auf einem Mac
Python auf Mac
Überprüfen Sie types_map, wenn Sie Mimetypen mit AWS Lambda (Python) verwenden.
Schritte zur Installation von CUDA 7.5 mit Mac (El Capitan) + Homebrew
Installieren von Python 3 auf einem Mac und Überprüfen der Grundfunktionen Teil 1
Mindestnotizen bei Verwendung von Python auf Mac (pyenv edition)
Mindestnotizen bei Verwendung von Python auf Mac (Homebrew Edition)
Installieren Sie Tensorflow auf dem Mac
Installieren Sie pyenv auf dem Mac
Stolperte bei der Installation von PyOCR
Installieren Sie Ansible auf einem Mac
Installieren von Python 3 in einer Mac-Umgebung
Hinweise zur Installation von PycURL
Pandas auf python2.6 installieren
Führen Sie OpenMVG auf einem Mac aus
Vorsichtsmaßnahmen bei der Installation von fbprophet
Installieren Sie Python 3.4 auf einem Mac
Installation von pyenv unter Ubuntu 16.04
Installieren Sie Caffe auf dem Mac
Installieren Sie Mecab auf dem Mac
Versuchen Sie Deepdream auf dem Mac
Vorsichtsmaßnahmen und Lösungen bei der Installation von Ubuntu auf einem PC mit NVIDIA Gravo
(Hinweis) Punkte, auf die Sie bei der Installation von Scilab unter ArchLinux achten sollten