Notez que Vim installé par Homebrew ne démarre pas avec l'erreur Python 3.8

TL;DR:

Je l'ai corrigé en définissant la variable d'environnement LC_CTYPE sur ja_JP.UTF-8.

Enquête

Lorsque je démarre vim, il plante avec l'erreur suivante.

% vim
Fatal Python error: config_get_locale_encoding: failed to get the locale encoding: nl_langinfo(CODESET) failed
Python runtime state: preinitialized

Une recherche dans le message d'erreur a trouvé un fil dans le suivi des bogues Python. https://bugs.python.org/issue39397

Une erreur de paramétrage des paramètres régionaux a été signalée. Il est également conseillé de supprimer la variable d'environnement LC_CTYPE. Le journaliste lui-même semble avoir résolu le problème en supprimant la variable d'environnement LANG.

Vérifiez votre environnement.

% locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=

% echo $LANG
ja_JP.UTF-8

% env | grep '^LC_ALL=' #indéfini
% env | grep '^LC_CTYPE=' #indéfini

La variable d'environnement LANG est définie. La variable d'environnement LC_CTYPE n'est pas définie, donc la commande locale définit le paramètre de locale LC_CTYPE sur ja_JP.UTF-8.

Je ne veux pas changer le paramètre de la variable d'environnement LANG dans mon environnement, alors cherchez une autre solution.

Ici, j'ai étudié la signification de nl_langinfo (CODESET), qui semble être l'emplacement où l'erreur s'est produite. https://linuxjm.osdn.jp/html/LDP_man-pages/man3/nl_langinfo.3.html

La fonction nl_langinfo () fournit un moyen plus flexible d'accéder aux informations locales que localeconv (3). Vous pouvez interroger des éléments individuels ou supplémentaires de la catégorie locale. … CODESET (LC_CTYPE) Renvoie une chaîne indiquant le nom de codage de caractères utilisé dans les paramètres régionaux sélectionnés.

nl_langinfo (CODESET) semble être lié au paramètre de locale LC_CTYPE. Sa valeur doit être égale à la valeur de la variable d'environnement LC_CTYPE (pour la variable d'environnement LC_ALL si elle n'est pas définie, ou pour la variable d'environnement LANG si elle est également non définie). Dans mon environnement, cela devrait être ja_JP.UTF-8, ce qui est identique à la valeur de la variable d'environnement LANG, mais il semble que l'acquisition ne réussisse pas.

Essayez de définir la variable d'environnement LC_CTYPE sur ja_JP.UTF-8.

% export LC_CTYPE=ja_JP.UTF-8
% vim

Maintenant, Vim démarre sans aucun problème.

environnement

Vim

% brew info vim
vim: stable 8.2.0654 (bottled), HEAD
Vi 'workalike' with many additional features
https://www.vim.org/
Conflicts with:
  ex-vi (because vim and ex-vi both install bin/ex and bin/view)
  macvim (because vim and macvim both install vi* binaries)
/usr/local/Cellar/vim/8.2.0654 (1,888 files, 32.6MB) *
  Poured from bottle on 2020-05-02 at 10:16:41
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/vim.rb
==> Dependencies
Required: gettext ✔, lua ✔, perl ✔, [email protected] ✔, ruby ✔

% grep '^Plug ' .vimrc
Plug 'Shougo/deoplete.nvim' " |deoplete_nvim|
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'

Le plugin deoplete.nvim dépend de Python 3. Il semble que ce plug-in plante en essayant de charger Python 3.

Python

% brew info [email protected]
[email protected]: stable 3.8.2 (bottled) [keg-only]
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/[email protected]/3.8.2 (4,196 files, 64MB)
  Poured from bottle on 2020-03-16 at 14:48:28
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/[email protected]

macOS

% sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.3
BuildVersion:   19D76

Recommended Posts

Notez que Vim installé par Homebrew ne démarre pas avec l'erreur Python 3.8
[Note] Une histoire sur Anaconda et VScode ayant des problèmes avec une erreur d'importation de python
Démarrer le calcul numérique avec Python (avec Homebrew et pip)
[Note] Faites fonctionner MongoDB avec Python
Formater json avec Vim (avec python)
Configurer un environnement Python moderne avec Homebrew
(Note) Soyez prudent avec python argparse
[Note] Sortie Hello world avec python
Gérez chaque version de Python avec Homebrew
Quand matplotlib ne fonctionne pas avec python2.7
Construisez Vim avec MinGW. (+ lua, + python)
Erreur et solution lors de l'installation de python3 avec homebrew sur mac (catalina 10.15)
[Note] Obtenir des données de PostgreSQL avec Python
Remarques lors de la création d'un environnement avec python
Démarrer python
Remarque: Python
[Note personnelle] Scraping de pages Web en python3
Essayer de gérer SQLite3 avec Python [Note]
Que faire si le serveur ne démarre pas avec python manage.py runserver
Note de Python
Publiez votre propre bibliothèque Python sur Homebrew
Erreur Homebrew
Erreur lors de l'installation d'un module avec Python pip
[Note] Exportez le html du site avec python.
Écrivons FizzBuzz avec une erreur: Version Python
pyenv ne fonctionne pas avec tcl-tk installé par homebrew.
Démarrez un serveur Web Python simple avec Docker
[Note] Créez une classe de fuseau horaire sur une ligne avec python
Je voulais installer Python 3.4.3 avec Homebrew + pyenv
Autoriser vim quickfix à accéder aux messages d'erreur Python
Remarque pour le formatage des nombres avec la fonction de format python
Installez vim7.3 (+ python2.4) depuis la source (compatible avec Gundo.vim)
Installez Python 3 sur MacOS Catalina (avec Homebrew uniquement)
Script Python pour obtenir des informations de note avec REAPER
Note d'apprentissage Python_002
Remarque: décorateur Python
FizzBuzz en Python3
Note de programmation Python
Grattage avec Python
[Python] Note d'apprentissage 1
Grattage avec Python
Python avec Go
Note d'apprentissage Python_004
Twilio avec Python
Intégrer avec Python
Commencez à utiliser Python
Démarrage rapide de Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
[Python] Commencez à étudier
python commence par ()
avec syntaxe (Python)
Note d'apprentissage Python_003
Vim avec Atom
Bingo avec python
Zundokokiyoshi avec python
[Remarque] openCV + python
Note du débutant Python
Excel avec Python
Micro-ordinateur avec Python