由于Ubuntu Vagrant Box中的locale.error,无法安装pip包

Rak*_*kib 6 python ubuntu pip virtualenv vagrant

我刚用ubuntu/trusty32创建了一个流浪盒.在创建框时,流浪者配置者已完成以下操作:

  • 下载了python virtualenv源码tarball使用 wget
  • 解开virtualenv源码tarball使用 tar zxvf ./virtualenv.tar.gz
  • 创建了一个名为venvusing 的virtualenvpython ./virtualenv/virtualenv.py ./venv
  • 采购新创建的venv source ./venv/bin/activate
  • 安装了几个点子包与pip install django,pip install mysqlclient等虚拟环境中.

所有这一切工作得很好和完美 - 当流浪者盒子第一次被创造时由流浪者提供者执行.

但是,稍后,我登录到vagrant ssh并尝试安装ipythonvia pip.

$ vagrant ssh
vagrant@django-box:~$ source venv/bin/activate
(venv) vagrant@django-box:~$ pip install ipython
Traceback (most recent call last):
  File "/home/vagrant/venv/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/home/vagrant/venv/local/lib/python2.7/site-packages/pip/__init__.py", line 215, in main
    locale.setlocale(locale.LC_ALL, '')
  File "/home/vagrant/venv/lib/python2.7/locale.py", line 579, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting
(venv) vagrant@django-box:~$ 
Run Code Online (Sandbox Code Playgroud)

注意:这是一个新的流浪汉盒子,运行ubuntu/trusty32开箱即用.

有几个关于语言环境错误的SO问题,但是他们发现这个流浪者情景没有帮助.

没有意义的是,在流浪盒创建/提供时间内所有这些工作都完美无缺,但在手动尝试同样的事情后却无法工作.

Mun*_*osh 16

首先通过简单地输入命令行来检查当前的语言环境配置locale.

你应该看到类似的东西:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
LANG=C
LC_CTYPE=utf8
Run Code Online (Sandbox Code Playgroud)

通过运行以下命令在LC_CTYPE环境变量中设置有效的语言环境:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE="en_US.UTF-8"
locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

PS.en_US.UTF-8此处使用但如果您需要检查系统上的所有可用语言环境,请运行该命令locale -a

这应该可以解决问题.