Кодек ascii не может декодировать ошибку при использовании pip для установки uwsgi
Я настраиваю uwsgi после этого урока: https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html.
Я запускаю pip install uwsgi
внутри virtualenv, но получаю проблему следующим образом:
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.
Ответы
Ответ 1
Вопрос, заданный год назад? Я прихожу сюда от Google.
Я замечаю, что меня интересует китайский, такой же, как я.
Таким образом, возможно, мы сталкиваемся с той же проблемой.
О, извините за мой плохой английский!
Я НАДЕЕТСЯ ПРАВИЛЬНЫЙ ОТВЕТ!
Это потому, что когда Python устанавливает некоторые пакеты, он проверяет реестр Windows, какое-то китайское программное обеспечение, такое как Aliwangwang, импортирует значение "gbk" в HKEY_CLASSES_ROOT. Поэтому Python не работает.
Его можно решить следующим образом:
откройте C:\Python27\Lib\mimetypes.py с Notepad ++ или другим редактором, затем выполните поиск по строке "default_encoding = sys.getdefaultencoding()".
добавьте коды в строку выше:
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
default_encoding = sys.getdefaultencoding()
Ответ 2
Попробуйте установить первый libevent-devel и python-devel
yum install libevent-devel python-devel
а затем установите
pip install uwsgi
Ответ 3
У меня была та же проблема. В моем случае, помимо приведенных выше предложений, мне пришлось запустить:
sudo apt-get install build-essential
Ответ 4
Убедитесь, что вы установили python-dev
Ответ 5
Решение hugleecool хорошее. Другой способ решить эту проблему - найти панель управления и изменить системный язык, а не язык Unicode.
Для китайской системы я считаю, что значение по умолчанию - китайский, вы можете изменить его на английский, и он решит все подобные проблемы декодирования.