[PYTHON] Préparer l'environnement de développement pour keyhac pour Mac

Contexte

Je suis content d'avoir le nouveau MacBook Pro, mais comme c'est Sierra depuis le début, la question était de savoir quoi faire avec Karabiner. Tout d'abord, j'ai essayé de passer à Karabiner-Elements, mais cela a échoué, et c'était un recours keyhac pour Mac .com / site / craftware / keyhac-ja) est également perdu car les paramètres les plus importants ne peuvent pas être réalisés.

Si Vim ne peut pas être utilisé tel quel, cela conduira à une mort progressive, donc heureusement je voudrais améliorer keyhac dont la source est ouverte au public pour le surmonter. Plus précisément, voici les objectifs.

Suivez fondamentalement le wiki

https://github.com/crftwr/keyhac/wiki

Installation de Python 3.4.x et des packages dépendants

Préparez pyenv avec anyenv et installez Python 3.4.5 avec pyenv. Pour le moment, je l'ai rendu global sans utiliser virtualenv. Installez les packages suivants listés sur le wiki en utilisant pip3.4 (bien que si vous spécifiez 3.4.5 globalement, pip est également 3.4.5).

keyhac et ckit devraient cloner dans la même hiérarchie et vérifier la branche mac_port respectivement.

construire ckit

Une erreur se produit lors de la construction de ckit avec Xcode.

Screen Shot 0028-11-10 at 21.56.36.png

Résolution de chemin du répertoire d'en-tête Python

La cause est que le chemin d'accès au répertoire d'en-tête ne passe pas car j'ai préparé l'environnement Python 3.4 à l'aide de pyenv.

Screen Shot 0028-11-10 at 22.04.04.png

Le paramètre d'origine était / Library / Frameworks / Python.framework / Versions / 3.4 / Headers, mais dans les dernières générations de macOS, il a été déplacé vers / System / Library / Frameworks / Python.framework. Il y a. Je me suis demandé si je n'avais pas besoin de pyenv s'il y avait 3,4 ici, mais quand j'ai regardé la destination, c'était seulement jusqu'à 2,7, donc pyenv n'était pas gaspillé.

Changez le chemin du répertoire d'en-tête en / Users / <username> / .anyenv / envs / pyenv / versions / 3.4.5 / include / python3.4m.

Screen Shot 0028-11-10 at 23.13.46.png

Redefinition of enumerator 'kVK_RightCommand'

/path/to/ckit/ckitcore/mac/ckitcore/ckitcore_hook_mac.cpp:49:5: Redefinition of enumerator 'kVK_RightCommand'

Une erreur qui semble être une définition dupliquée d'énumération. J'ai commenté pour le moment.

before.cpp


enum AdditionalVk
{
    kVK_RightCommand = 0x36,
};

after.cpp


enum AdditionalVk
{
    // kVK_RightCommand = 0x36,
};

Erreur de lien dylib Python

Une erreur s'est produite dans le lien vers la fin de la construction. Python dans les fichiers de support a une erreur de référence et doit être résolue. Cependant, si vous installez normalement Python avec pyenv, seule une bibliothèque statique sera générée, donc si vous voulez une bibliothèque de liens dynamiques, vous devez l'installer avec l'option --enable-framework ([lien de référence](https :: https :: //github.com/yyuu/pyenv/issues/99)).

$ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.4.5

Une fois l'installation terminée, Python.framework apparaîtra sous / Users / <username> / .anyenv / envs / pyenv / versions / 3.4.5, alors changez le répertoire d'en-tête et le chemin dylib ici.

La compilation réussira une fois, mais il y a un avertissement indiquant qu'un répertoire qui n'existe pas est spécifié au moment de la liaison. Je me demandais où le définir, mais j'ai trouvé l'ancien chemin dans Library Search Paths of TARGETS, alors pointez-le vers Python.framework de pyenv.

Screen Shot 0028-11-11 at 0.49.06.png

Maintenant, l'avertissement disparaît et la construction de ckit est terminée. Il y a deux avertissements de code qui n'ont pas encore été atteints, mais ignorez-les pour le moment.

Exécutez keyhac

Il y avait une instruction pour créer un lien symbolique sur le wiki, mais puisque ckitcore.so a été créé sans rien faire, je vais le démarrer.

$ python keyhac_main.py -d

Malheureusement, une erreur s'est à nouveau produite.

Traceback (most recent call last):
  File "keyhac_main.py", line 19, in <module>
    import keyhac_keymap
  File "/Users/kodama/Work/keyhac/keyhac_keymap.py", line 17, in <module>
    import accessibility
ImportError: No module named 'accessibility'

iTerm.app ne figurait pas dans la liste des autorisations d'accessibilité, je l'ai donc ajouté et réexécuté, mais j'obtiens la même erreur. Essayez d'installer l'accessibilité avec pip docilement.

$ pip install accessibility

Vous avez démarré keyhac avec succès.

Recommended Posts

Préparer l'environnement de développement pour keyhac pour Mac
Préparez l'environnement de développement avec anyenv
Préparer l'environnement pour Atom pour Pythonista
Comment préparer l'environnement de développement Python [Mac]
Préparer l'environnement de développement pour Python sur AWS Cloud9 (installation de pip et changement d'heure)
Environnement de développement adapté à ArcPy
Créez un environnement de développement local pour Laravel6.X sur votre Mac
Construction de l'environnement Python pour Mac
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
Installez Ubuntu 20.04 avec GUI et préparez l'environnement de développement
[Pour organiser] Environnement de développement Python
mémo python (pour moi-même): À propos de l'environnement de développement virtualenv
Construction de l'environnement Ansible pour Mac
Préparer l'environnement de développement Python avec Mac + Windows + VisualStudio Code (version Windows)
Préparer l'environnement de développement Python avec Mac + Windows + VisualStudio Code (version Mac)
Configurer un environnement de développement Python sur Ubuntu
Préparez votre premier environnement de développement Python
Options d'environnement de développement Python pour mai 2020
Paramètres Emacs pour l'environnement de développement Python
Construction de l'environnement Python3 TensorFlow pour Mac
Vérification de l'environnement de développement NAOqi Python
Configurer un environnement de développement Python avec Atom
Suite ・ Notes sur la préparation de l'environnement de développement Python sur Mac OS X
Construction de l'environnement de développement Mac OS X Mavericks 10.9.5
Environnement de développement Python pour macOS utilisant venv 2016
Le paramètre d'environnement Python amateur (pour MAC) est en cours de création
[Mac] Création d'un environnement virtuel pour Python
À propos de l'environnement de développement que vous utilisez
Construction de l'environnement de développement Mac OS X Yosemite 10.10
Mémo de construction de l'environnement de développement Mac OS X
Construction d'un environnement de développement pour l'atelier Choreonoid
L'environnement de développement Python le plus puissant Recommandation de PyCharm
Créer un environnement de développement Python pour le développement de l'IA
Créer un environnement de développement pour l'apprentissage automatique
L'environnement de développement intégré Python le plus puissant PyCharm
Préparer un environnement de développement Python pour chaque projet dans un environnement Windows (VSCode + virtualEnvWrapper + Pylint)
Remarque: préparez l'environnement de CmdStanPy avec docker
Préparer l'environnement d'exécution de Python3 avec Docker
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
Préparer un environnement de langage de programmation pour l'analyse des données
Préparez l'environnement pour le livre O'Reilly "Deep Learning from scratch" avec apt-get (Debian 8)
Créer un environnement pour exécuter des scripts Python (pour Mac)
Instanciation de l'environnement de développement BOX créé précédemment
[Blender] Préparer l'environnement de débogage du script Blender (Eclipse + PyDev)
J'ai essayé de créer un Dockerfile pour l'environnement de développement de Django
Python: préparez un sérialiseur pour l'instance de classe:
Créer un environnement pour matplotlib + cartopy sur un Mac
Créez un environnement de développement Python sur votre Mac
Construction de l'environnement de développement Mac (Ansible + Serverspec + Travis CI)
Créer un environnement Kubernetes pour le développement sur Ubuntu
Créer un environnement de développement mruby pour ESP32 (édition Linux)
[Note] Comment créer un environnement de développement Mac
Configurer l'environnement de développement TinyGo pour VS Code
Comment définir l'environnement de développement pour chaque projet avec VSCode + extension Python + Miniconda
Mettre en place un environnement de développement pour le traitement du langage naturel
J'ai essayé Python sur Mac pour la première fois.
Création d'un environnement pour "Tello_Video" sur Mac OS X
[Pour les débutants] Installez le package dans l'environnement Anaconda (Janome)