Verwenden von NAOqi 2.4.2 Python SDK mit Mac OS X El Capitan

Anscheinend kann Mac OS X El Capitan das NAOqi Python SDK aufgrund einer neuen Sicherheitsfunktion namens System Integrity Protection (SIP) nicht verwenden.

Wenn Sie eine solche Fehlermeldung erhalten, liegt dies an den Sicherheitsfunktionen von SIP.

>>> import naoqi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/tkawata/naoqi/pynaoqi-python2.7-2.4.2.26-mac64/naoqi.py", line 9, in <module>
    import qi
  File "/Users/tkawata/naoqi/pynaoqi-python2.7-2.4.2.26-mac64/qi/__init__.py", line 66, in <module>
    from _qi import Application as _Application
ImportError: dlopen(/Users/tkawata/naoqi/pynaoqi-python2.7-2.4.2.26-mac64/_qi.so, 2): Library not loaded: libboost_python.dylib
  Referenced from: /Users/tkawata/naoqi/pynaoqi-python2.7-2.4.2.26-mac64/_qi.so
  Reason: unsafe use of relative rpath libboost_python.dylib in /Users/tkawata/naoqi/pynaoqi-python2.7-2.4.2.26-mac64/_qi.so with restricted binary
>>> 

Es scheint ein Problem damit zu geben, wie auf die Bibliothek verwiesen wird, auf die das SDK verweist, und ich muss warten, bis das SDK offiziell repariert ist. (Jedes NAOqi 2.4.2 SDK wird derzeit von Yosemite auf dem Mac unterstützt.)

Es wird eine vorläufige Antwort sein, aber ich habe ein Skript erstellt, um den Patch anzuwenden.

patch_naoqi_python_sdk_for_elcaptain.sh


#!/bin/bash

if [ $# -ne 1 ]; then
  echo "Parameterfehler" 1>&2
  echo "sh patch_naoqi_python_sdk_for_elcaptain.sh  naoqi_python_SDK-Pfad" 
  exit 1
fi

NAOQIDIR=$1 # "${HOME}/naoqi/pynaoqi-python2.7-2.4.2.26-mac64"

if [ ! -e ${NAOQIDIR}/naoqi.py ]; then
	echo "Der angegebene Pfad scheint nicht das Naoqi Python SDK zu sein"
	exit 1
fi

cd ${NAOQIDIR}

for file in `ls *.dylib *.so`
do
	# patch all library internal cross references
	echo "Patching " $file "..."
	for fileother in `ls  *.dylib *.so ;ls qi *.dylib *.so`
	do
		# library
		echo "  Patching " $fileother " with " $file "..."
		install_name_tool  -change $file $NAOQIDIR/$file $fileother
	done
	# patch Python reference for the library
	install_name_tool -change /Library/Frameworks/Python.framework/Versions/2.7/Python /System/Library/Frameworks/Python.framework/Versions/2.7/Python $file
done

for file in `ls *.dylib *.so`
do
	# patch all library internal cross references
	echo "Patching " $file "..."
	fileother="qi/plugins/libqimodule_python_plugin.dylib"
	# library
	echo "  Patching " $fileother " with " $file "..."
	install_name_tool -change $file $NAOQIDIR/$file $fileother
	# patch Python reference for the library
	install_name_tool -change /Library/Frameworks/Python.framework/Versions/2.7/Python /System/Library/Frameworks/Python.framework/Versions/2.7/Python $file
done

Geben Sie den Pfad des NAOqi SDK im Parameter an

sh patch_naoqi_python_sdk_for_elcaptain.sh Python NAOqi SDK-Pfad

Recommended Posts

Verwenden von NAOqi 2.4.2 Python SDK mit Mac OS X El Capitan
Installieren Sie python3 auf einem Mac (El Capitan)
Verwenden mehrerer Versionen von Python unter Mac OS X (2) Verwendung
Installieren Sie matplotlib unter OS X El Capitan
Wenn der Import von tkinter unter Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1 nicht möglich ist.
Verwenden mehrerer Versionen von Python unter Mac OS X (1) Installation von Multiple Ver
Führen Sie Zookeeper x Python (Kazoo) unter Mac OS X aus
Installation von TensorFlow 0.11.0rc2 unter OS X El Capitan (10.11.6)
Shpinx (Python Document Builder) unter Mac OS X.
Hinweise zur Vorbereitung der Python-Entwicklungsumgebung unter Mac OS X.
Versuchen Sie es mit E-Cell 4 unter Windows 7 oder Mac OS X.
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
[19.11.2015] So registrieren Sie einen Dienst lokal mit dem Python SDK bei naoqi os
Führen Sie den Qiita API v2 Python-Wrapper in einer Python 3-Umgebung aus (Mac OS X 10.11 (El Capitan)).
Installieren Sie Sphinx unter MacOSX
Erstellen Sie eine Python-Datenanalyseumgebung auf einem Mac (El Capitan).
Installieren Sie mitmproxy unter Mac OS X.
Erstellen Sie eine Python-Umgebung mit pyenv (OS X El Capitan 10.11.3).
Installieren Sie pgmagick unter Mac OS X 10.9
Ich habe Caffe installiert, damit ich Deep Learning mit MAC OS X El Capitan durchführen kann
So erstellen Sie eine Python-Umgebung aus Pyenv in einer Mac-Umgebung (El Capitan)
Erste Schritte mit dem Python-Framework Django unter Mac OS X.
Fortsetzung ・ Hinweise zur Vorbereitung der Python-Entwicklungsumgebung unter Mac OS X.
Installieren Sie lp_solve unter Mac OSX und rufen Sie es mit Python auf.
So installieren Sie Theano unter Mac OS X 10.10 (mit pyenv, anaconda)
Installiert aws-cli Unter Mac OS X Lion
So löschen Sie Python 2.x auf einem Mac.
Führen Sie NASA CEA unter Mac OS X aus
Python auf Mac
Erstellen Sie eine Umgebung mit pyenv, pyenv-virtualenv, jupyter unter OS X El Capitan
Hinweise zum Festlegen der Pyenv- und Python-Umgebung mit Homebrew unter Mac OS Marvericks
Fügen Sie Python 2.7.x in pyenv unter Mac OSX 10.15.5 ein
Erstellen einer R-Umgebung mit Jupyter (ehemals IPython-Notebook) (unter OS X El Capitan 10.11.3)
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Installieren Sie Python 3.4 auf einem Mac
Vorbereiten der Verwendung von aws cli unter Mac OS X.
Erstellen einer Umgebung für "Tello_Video" unter Mac OS X.
Erstellen Sie eine Python-Umgebung für maschinelles Lernen unter Mac OS
Sehr einfach, SciPy unter Mac OS X zu installieren
Schritte zur Installation von CUDA 7.5 mit Mac (El Capitan) + Homebrew
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
mac OS X 10.15.x pyenv Python Wenn Sie nicht installieren können
Installieren Sie PyQt5 mit Homebrew unter Mac OS X Marvericks (10.9.2).
Mindestnotizen bei Verwendung von Python auf Mac (pyenv edition)
Erstellen Sie eine Python-Entwicklungsumgebung mit OS X Lion
Mindestnotizen bei Verwendung von Python auf Mac (Homebrew Edition)
Anweisungen zur Verwendung der AWS-Befehlszeilenschnittstelle (Python / awscli) unter Mac OS X.
Ich habe MNIST mit Caffe gelernt und versucht, es zu zeichnen (MAC OS X El Capitan)
Installieren Sie pygame auf python3.4 auf dem Mac
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Setzen Sie Python 3.x in Ubuntu ein
Testen Sie Python mit Miniconda unter OS X und Linux mit travis-ci
Führen Sie Tensorflow 2.x unter Python 3.7 aus
Umgang mit Python auf Mac
Schritte zum Installieren der neuesten Version von OpenCV unter OS X El Capitan ohne Homebrew
Aktualisieren Sie die Python, die Sie auf Ihrem Mac hatten, auf 3.7-> 3.8
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Hinweise zur Installation von Python auf Ihrem Mac