Utilisation du SDK NAOqi 2.4.2 Python avec Mac OS X El Capitan

Apparemment, Mac OS X El Capitan ne peut pas utiliser le SDK NAOqi Python en raison d'une nouvelle fonctionnalité de sécurité appelée System Integrity Protection (SIP).

Si vous obtenez une erreur comme celle-ci, cela est dû aux fonctionnalités de sécurité de 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
>>> 

La façon dont le SDK fait référence à la bibliothèque semble être un problème et je dois attendre que le SDK soit officiellement corrigé. (Chaque SDK NAOqi 2.4.2 est actuellement pris en charge par Yosemite sur Mac)

Ce sera une réponse provisoire, mais j'ai fait un script pour appliquer le patch.

patch_naoqi_python_sdk_for_elcaptain.sh


#!/bin/bash

if [ $# -ne 1 ]; then
  echo "Erreur de paramètre" 1>&2
  echo "sh patch_naoqi_python_sdk_for_elcaptain.sh  naoqi_python_chemin SDK" 
  exit 1
fi

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

if [ ! -e ${NAOQIDIR}/naoqi.py ]; then
	echo "Le chemin spécifié ne semble pas être le SDK python naoqi"
	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

Spécifiez le chemin du SDK NAOqi dans le paramètre

sh patch_naoqi_python_sdk_for_elcaptain.sh Chemin du SDK Python NAOqi

Recommended Posts

Utilisation du SDK NAOqi 2.4.2 Python avec Mac OS X El Capitan
Installer python3 sur Mac (El Capitan)
Utilisation de plusieurs versions de Python sur Mac OS X (2) Utilisation
Installez matplotlib sur OS X El Capitan
Lorsque l'importation de tkinter n'est pas possible avec Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1.
Utilisation de plusieurs versions de Python sur Mac OS X (1) Installation de plusieurs ver
Exécutez Zookeeper x python (kazoo) sur Mac OS X
Installation de TensorFlow 0.11.0rc2 sur OS X El Capitan (10.11.6)
Shpinx (Python Document Builder) sur Mac OS X
Mémo sur Mac OS X
Essayez d'utiliser E-Cell 4 sur Windows 7 ou Mac OS X
Créer un environnement de développement Python sur Mac OS X
[2015/11/19] Comment enregistrer un service localement à l'aide du SDK python avec naoqi os
Exécutez le wrapper Python de l'API Qiita v2 dans un environnement Python 3 (Mac OS X 10.11 (El Capitan))
Installez Sphinx sur MacOSX
Créer un environnement d'analyse de données python sur Mac (El Capitan)
Installez mitmproxy sur Mac OS X
Créer un environnement python avec pyenv (OS X El Capitan 10.11.3)
Installez pgmagick sur Mac OS X 10.9
J'ai installé Caffe pour pouvoir faire du Deep Learning avec MAC OS X El Capitan
Comment reconstruire l'environnement python à partir de pyenv dans un environnement Mac (El Capitan)
Premiers pas avec le framework Python Django sur Mac OS X
Suite ・ Notes sur la préparation de l'environnement de développement Python sur Mac OS X
Installez lp_solve sur Mac OSX et appelez-le avec python.
Comment installer Theano sur Mac OS X 10.10 (en utilisant pyenv, anaconda)
Aws-cli installé sur Mac OS X Lion
Comment effacer Python 2.x sur Mac.
Exécutez NASA CEA sur Mac OS X
python sur mac
Créez un environnement avec pyenv, pyenv-virtualenv, jupyter sur OS X El Capitan
Remarques sur la configuration de l'environnement pyenv et python à l'aide de Homebrew sur Mac OS Marvericks
Mettez Python 2.7.x dans pyenv sur Mac OSX 10.15.5
Création d'un environnement R avec Jupyter (anciennement notebook IPython) (sous OS X El Capitan 10.11.3)
Installez Python sur Mac
Installer Python 3 dans un environnement Mac
Installez Python 3.4 sur Mac
Préparation à l'utilisation de aws cli sur Mac OS X
Création d'un environnement pour "Tello_Video" sur Mac OS X
Créer un environnement Python d'apprentissage automatique sur Mac OS
Très facile à installer SciPy sur Mac OS X
Étapes pour installer CUDA 7.5 avec Mac (El Capitan) + Homebrew
Créez un environnement Python sur votre Mac en utilisant pyenv
mac OS X 10.15.x pyenv Python Si vous ne pouvez pas installer
Installez PyQt5 avec homebrew sur Mac OS X Marvericks (10.9.2)
Notes minimales lors de l'utilisation de Python sur Mac (édition pyenv)
Créer un environnement de développement Python avec OS X Lion
Notes minimales lors de l'utilisation de Python sur Mac (édition Homebrew)
Instructions d'utilisation de l'interface de ligne de commande AWS (Python / awscli) sous Mac OS X
J'ai appris MNIST avec Caffe et j'ai essayé de le dessiner (MAC OS X El Capitan)
Installer pygame sur python3.4 sur Mac
Construire un environnement Python sur un Mac, jusqu'au point d'utiliser Jupyter Lab
Mettez Python 3.x dans Ubuntu
Tester Python avec Miniconda dans un environnement OS X et Linux avec travis-ci
Exécutez Tensorflow 2.x sur Python 3.7
Manipulation de python sur mac
Étapes pour installer la dernière version d'OpenCV sur OS X El Capitan sans Homebrew
Mettez à jour le python que vous aviez sur votre Mac à 3.7-> 3.8
Installez pandas 0.14 sur python3.4 [sur Mac]
Remarques sur l'installation de Python sur votre Mac