Comment exécuter LeapMotion avec Python non-Apple

Référence: https://forums.leapmotion.com/forum/support/community-support/os-x/3169-python-pythreadstate-get-no-current-thread

Si vous essayez d'exécuter LeapMotion avec Python introduit par homebrew ou construit par vous-même

python


Fatal Python error: PyThreadState_Get: no current thread

Je pense qu'une erreur comme celle-ci apparaîtra et cela ne fonctionnera pas.

C'est parce que la dépendance de l'objet LeapPython.so, qui fournit un pont entre l'interface de Leap et Python, est pour Python fourni avec le Mac.

Je vais résoudre ça. Vous aurez besoin des commandes ʻotool et ʻinstallation_name_tool. Je pense que cela nécessitait des outils de ligne de commande X-code, donc si vous ne trouvez pas la commande, veuillez d'abord l'installer.

Commencez par enquêter avec otool.


$ otool -L LeapPython.so
    LeapPython.so:
        @loader_path/LeapPython.so (compatibility version 0.0.0, current version 0.0.0)
        /Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0)
        @loader_path/libLeap.dylib (compatibility version 0.7.0, current version 1.0.9)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)

La partie de /Library/Frameworks/Python.framework/Versions/2.7/Python (compatibilité version 2.7.0, version actuelle 2.7.0) est la partie problématique. Réécrivez ceci.

ʻInstall_name_tool [-change old_path new_path] `. Dans mon environnement, cela ressemble à ceci: Veuillez modifier la partie new_path de manière appropriée en fonction de l'environnement de chaque personne.


$ install_name_tool -change /Library/Frameworks/Python.framework/Versions/2.7/Python /usr/local/Cellar/python/2.7.6_1/Frameworks/Python.framework/Versions/Current/lib/libpython2.7.dylib LeapPython.so

Il semble que cela fonctionnera si vous faites de même avec macports et votre propre build. Une autre mise en garde est que l'événement on_frame ne se déclenche pas lors de l'exécution via tmux.

Recommended Posts

Comment exécuter LeapMotion avec Python non-Apple
Leap Motion dans Python 3
Comment exécuter Notepad ++ Python
Comment développer en Python
Comment exécuter python dans l'espace virtuel (pour MacOS)
Comment exécuter setUp une seule fois dans Python Unittest
Obtenez des données LeapMotion en Python.
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment exécuter du code TensorFlow 1.0 en 2.0
Essayez d'utiliser LeapMotion avec Python
Comment gérer le japonais avec Python
[Introduction à Python] Comment utiliser la classe en Python?
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
[Itertools.permutations] Comment créer une séquence en Python
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Comment extraire une zone de polygone en Python
Comment vérifier la version d'opencv avec python
Comment changer de version de Python dans cloud9
Comment utiliser __slots__ dans la classe Python
Comment remplir dynamiquement des zéros avec Python
Comment utiliser les expressions régulières en Python
Comment afficher Hello World en python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Comment exécuter des scripts Maya Python
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Comment utiliser la bibliothèque C en Python
Comment recevoir des arguments de ligne de commande en Python
[REAPER] Comment jouer à Reascript avec Python
Comment effacer un taple dans une liste (Python)
Comment installer Python
Comment générer une séquence en Python et C ++
Comment incorporer des variables dans des chaînes python
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment créer un fichier JSON en Python
Comment installer python
Comment exécuter CNN en notation système 1 avec Tensorflow 2
Résumé de l'utilisation de MNIST avec Python
Comment spécifier la version TLS dans les requêtes python
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser tkinter avec python dans pyenv
[Python] Comment dessiner un histogramme avec Matplotlib
Comment générer "Ketsumaimo" en standard en Python
Comment gérer le type datetime dans sqlite3 de python
Comment apporter des modifications à l'interpréteur Python dans Pycharm
Comment tracer l'autocorrélation et l'autocorrélation partielle avec Python
Comment supprimer les éléments en double dans la liste Python 3
[Python] Comment exécuter Jupyter-notebook + pandas + multiprocessing (Pool) [pandas] Memo
Comment récupérer la nième plus grande valeur en Python