Pipenv: ValueError:不明なロケール:UTF-8

作成日 2017年02月02日  ·  10コメント  ·  ソース: pypa/pipenv

つまり、私はpipenv 3.1。*または3.2。*を使用していましたが、現在はmacOSSierraでpipenv == 3.3.3を使用しています。

そしてこれは起こります:

Creating a Pipfile for this project...
Creating a virtualenv for this project...
Traceback (most recent call last):
  File "/usr/local/bin/pew", line 7, in <module>
    from pew.pew import pew
  File "/usr/local/lib/python2.7/site-packages/pew/__init__.py", line 11, in <module>
    from . import pew
  File "/usr/local/lib/python2.7/site-packages/pew/pew.py", line 36, in <module>
    from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
  File "/usr/local/lib/python2.7/site-packages/pew/_utils.py", line 22, in <module>
    encoding = locale.getlocale()[1] or 'ascii'
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 564, in getlocale
    return _parse_localename(localename)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 477, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

奇妙なことに、macOSロケール設定では何も変更していませんが、\〜/ .bash_profile(\〜/ .zshrc)に次のように追加して修正しました。

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

誰かが同じ問題を抱えているかどうかはわかりませんが、これがpipenvがエラーなどなしにバイパスするものでない場合は、問題を閉じることができます。 =]

最も参考になるコメント

これを私の.bash_profileに配置するとうまくいきました

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

全てのコメント10件

はい、これはlocale.getlocale()発生する可能性のあるmacOSのバグのようです。 提案された唯一の修正は、あなたが提供したものです。 これを文書化するために時間を割いてくれてありがとう:)

.profileと.bash_profileに行を追加しても、これを取得し続けます。 :/

@behconsci 、どのシェルを使用していますか?
zshを使用している場合は、〜/ .zshrcを追加します

「〜/ .zshrc」に次の行を追加すると、私の環境の問題が修正されました。

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

これを私の.bash_profileに配置するとうまくいきました

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

source ~/.bash_profileを忘れないでください

これは、ターミナルアプリがロケール変数を自動的に設定することが原因のようです。 iTermとTerminal.appの両方に、デフォルトで有効になっている「ロケール変数の設定...」オプションがあり、 LC_CTYPE=UTF-8を設定します。 このenvvarを設定解除すると、問題が解決します。

こんにちは、みんな、
これを私の.bash_profileに配置するとうまくいきました

エクスポートLC_ALL = en_US.UTF-8
LANG = en_US.UTF-8をエクスポートします

ありがとう@douglasmirandaそれは私と一緒に動作します。
source ~/.bash_profileの後でも、新しいターミナルウィンドウを開く必要があり、すべて問題ありません。

あなたが作成している場合は/.bash_profileファイルを、あなたを確保するsource ~/.bash_profile@esirKのおかげで、私のために働いた。

このページは役に立ちましたか?
0 / 5 - 0 評価