我正在按照本教程设置uwsgi:https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html。
我在virtualenv中运行pip install uwsgi
,但问题如下:
Command /home/timyitong/superleagues/bin/python -c "import setuptools;__file__='/home/timyitong/superleagues/build/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Z9h8Jn-record/install-record.txt --single-version-externally-managed --install-headers /home/timyitong/superleagues/include/site/python2.6 failed with error code 1 in /home/timyitong/superleagues/build/uwsgi
Traceback (most recent call last):
File "/home/timyitong/superleagues/bin/pip", line 9, in <module>
load_entry_point('pip==1.4', 'console_scripts', 'pip')()
File "/home/timyitong/superleagues/lib/python2.6/site-packages/pip/__init__.py", line 148, in main
return command.main(args[1:], options)
File "/home/timyitong/superleagues/lib/python2.6/site-packages/pip/basecommand.py", line 169, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 54: ordinal not in range(128)
这似乎是一个解码问题,但如何解决?我的系统环境是:
Ubuntu 10.04
Django==1.5.1
South==0.8.1
distribute==0.7.3
wsgiref==0.1.2
注意:由于操作环境不同,此问题的答案可能会有所不同。 Twil的评论实际上解决了我在OS X中的问题。
答案 0 :(得分:17)
这是一年前提出的一个问题?我是来谷歌的。 我注意到提问者是中国人,和我一样。 所以,也许我们面临同样的问题。 哦,抱歉我的英语不好!
我已经找到了正确的答案!
这是因为当Python安装一些软件包时,会检查Windows注册表,一些像Aliwangwang这样的中文软件将'gbk'值导入HKEY_CLASSES_ROOT。所以Python不起作用。
可以这样解决:
使用Notepad ++或其他编辑器打开C:\ Python27 \ Lib \ mimetypes.py,然后搜索“default_encoding = sys.getdefaultencoding()”行。 将代码添加到上面的行中,如下所示:
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
default_encoding = sys.getdefaultencoding()
答案 1 :(得分:16)
尝试安装第一个libevent-devel和python-devel
yum install libevent-devel python-devel
然后安装
pip install uwsgi
答案 2 :(得分:4)
我遇到了同样的问题。就我而言,除了上述建议之外,我还得运行:
sudo apt-get install build-essential
答案 3 :(得分:4)
检查您是否已安装python-dev
答案 4 :(得分:0)
hugleecool的解决方案很好。解决此问题的另一种方法是找到控制面板并更改系统的非Unicode程序的语言。
对于中文系统,我认为默认值是中文,你可以把它改成英文,它会解决所有类似的解码问题。