対処したいエラー
Macでpipenv
を使ってこんなエラーが出たときの対処法です。
$ pipenv shell
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 11, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 607, in shell
three=three, python=python, fancy=fancy, shell_args=shell_args
File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 2148, in do_shell
from .patched.pew import pew
File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pew/__init__.py", line 3, in <module>
from . import pew
File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pew/pew.py", line 44, in <module>
from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pew/__init__.py", line 3, in <module>
from . import pew
File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pew/pew.py", line 44, in <module>
from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pew/_utils.py", line 25, in <module>
encoding = locale.getlocale()[1] or 'ascii'
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 581, in getlocale
return _parse_localename(localename)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 490, in _parse_localename
raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8
対処法
以下を~/.bashrc
に書けば追記すれば、エラーは起きなくなりました。
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
(参考 https://github.com/pypa/pipenv/issues/187#issuecomment-375172264)