Подтвердить что ты не робот

Кодек 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.

4b9b3361

Ответ 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.

Для китайской системы я считаю, что значение по умолчанию - китайский, вы можете изменить его на английский, и он решит все подобные проблемы декодирования.