完整的堆栈跟踪:
➜ ~ pip install virtualenv Traceback (most recent call last): File "/usr/bin/pip", line 11, in <module> sys.exit(main()) File "/usr/lib/python3.4/site-packages/pip/__init__.py", line 215, in main locale.setlocale(locale.LC_ALL, '') File "/usr/lib64/python3.4/locale.py", line 592, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting
在同一台服务器上,我成功运行pip install virtualenv了 python 2.7.x。
pip install virtualenv
现在,我刚刚使用curl https://bootstrap.pypa.io/get-pip.py | python3.4.
curl https://bootstrap.pypa.io/get-pip.py | python3.4
➜ ~ pip --version pip 8.1.1 from /usr/lib/python3.4/site-packages (python 3.4)
pip uninstall virtualenv也会抛出同样的错误
pip uninstall virtualenv
根本原因是:您的环境变量LC_ALL以某种方式丢失或无效
LC_ALL
简短的回答-
只需运行以下命令:
$ export LC_ALL=C
如果您在新的终端窗口中不断收到错误,请将其添加到.bashrc文件的底部。
.bashrc
长答案-
这是我的locale设置:
locale
$ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C
Python2.7
$ uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux $ python --version Python 2.7.9 $ pip --version pip 8.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) $ unset LC_ALL $ pip install virtualenv Traceback (most recent call last): File "/usr/local/bin/pip", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 215, in main locale.setlocale(locale.LC_ALL, '') File "/usr/lib/python2.7/locale.py", line 579, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting $ export LC_ALL=C $ pip install virtualenv Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/lib/python2.7/dist-packages