Python 无法安装pip包,因为Ubuntu Vagrant框中存在locale.error
我刚刚用ubuntu/trusty32创建了一个流浪者盒子。流浪者供给者在箱子创建期间执行了以下操作:Python 无法安装pip包,因为Ubuntu Vagrant框中存在locale.error,python,ubuntu,vagrant,pip,virtualenv,Python,Ubuntu,Vagrant,Pip,Virtualenv,我刚刚用ubuntu/trusty32创建了一个流浪者盒子。流浪者供给者在箱子创建期间执行了以下操作: 使用wget 使用tar zxvf./virtualenv.tar.gz 使用python./virtualenv/virtualenv.py./venv 使用source./venv/bin/activate来获取新创建的venv 在虚拟环境中使用pip install django,pip install mysqlclient等安装了一些pip软件包 所有这些都很好地完成了——流浪者
- 使用
wget
- 使用
tar zxvf./virtualenv.tar.gz
- 使用
python./virtualenv/virtualenv.py./venv
- 使用
source./venv/bin/activate来获取新创建的venv
- 在虚拟环境中使用
,pip install django
等安装了一些pip软件包pip install mysqlclient
pip
安装ipython
$ 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:~$
$vagrant ssh
vagrant@django-框:~$source venv/bin/activate
(venv)vagrant@django-框:~$pip安装ipython
回溯(最近一次呼叫最后一次):
文件“/home/vagrant/venv/bin/pip”,第11行,在
sys.exit(main())
文件“/home/vagrant/venv/local/lib/python2.7/site packages/pip/__init__.py”,第215行,在main中
setlocale(locale.LC_ALL“”)
setlocale中的文件“/home/vagrant/venv/lib/python2.7/locale.py”,第579行
return\u setlocale(类别,区域设置)
区域设置。错误:不支持的区域设置
(venv)vagrant@django-方框:~$
注意:这是一个全新的vagrant box,运行ubuntu/trusty32开箱即用
关于区域设置错误有几个问题,但遵循这些问题并没有显示出对这个流浪场景的帮助
没有意义的是,所有这些在创建/提供漫游框期间都工作得很好,但在手动尝试相同的操作时,之后就不工作了。首先检查当前的区域设置配置,只需将
区域设置
放在命令行中即可
您应该看到类似的内容:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
LANG=C
LC_CTYPE=utf8
通过运行以下命令,在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
PS.en_US.UTF-8
在此处使用,但如果需要检查系统上的所有可用区域设置,请运行命令locale-a
这应该可以解决问题。太好了。。。这起作用了。刚才发生了什么事???将
en_US.UTF-8
内引号与不将en_US.UTF-8
内引号包装有什么区别吗?注意。。每次登录到机器外壳时,我都需要这样做。如何使其永久化?您可以在.bashrc
中添加命令,这样每次登录shell时都会执行该命令。也别忘了把这个标记为答案,以便任何其他人都有这个问题可以回答:“仍然不明白为什么它是由流浪者提供的罚款,但不是在手动尝试时。”