I just created a vagrant box with ubuntu/trusty32. The vagrant provisioner, during box creation time, has done the following:
- downloaded python virtualenv source tarball using
wget - untarred the virtualenv source tarball using
tar zxvf ./virtualenv.tar.gz - created a virtualenv called
venvusingpython ./virtualenv/virtualenv.py ./venv - sourced the newly created venv with
source ./venv/bin/activate - installed a few pip packages with
pip install django,pip install mysqlclientetc inside the virtual environment.
All of this worked fine and perfect - executed by the vagrant provisioner when the vagrant box was being created for the first time.
However, later on, i logged in to the vagrant ssh and tried to install ipython via 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:~$ Note: this is a fresh new vagrant box running ubuntu/trusty32 out of the box.
There are several SO questions about locale error but following them revealed no help for this vagrant scenario.
It doesn't make sense that all of it worked perfectly fine during vagrant box creation/provision time but not working afterwards when trying the same thing manually.