TL;DR:
Je l'ai corrigé en définissant la variable d'environnement LC_CTYPE
sur ja_JP.UTF-8
.
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.
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