Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2014 10:57:45

dionis21
Зарегистрирован: 2014-06-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

DjangoCMS и UnicodeDecodeError

Исходные данные:
xubuntu 14.04

В среде virtualenv устанавливаю django-cms 3. В конце выходит ошибка:

INFO: Starting new HTTPS connection (1): pypi.python.org
Command /home/developer/mycode/env/bin/python -c "import setuptools, tokenize;__file__='/home/developer/mycode/env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-KV9h_K-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/developer/mycode/env/include/site/python2.7 failed with error code 1 in /home/developer/mycode/env/build/Pillow
Traceback (most recent call last):
  File "/home/developer/mycode/env/bin/djangocms", line 11, in <module>
    sys.exit(execute())
  File "/home/developer/mycode/env/local/lib/python2.7/site-packages/djangocms_installer/main.py", line 25, in execute
    install.requirements(config_data.requirements)
  File "/home/developer/mycode/env/local/lib/python2.7/site-packages/djangocms_installer/install/__init__.py", line 62, in requirements
    exit_status = pip.main(args)
  File "/home/developer/mycode/env/local/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/home/developer/mycode/env/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 45: ordinal not in range(128)

Что делать?

Офлайн

#2 Июль 9, 2014 08:12:52

totaki
Зарегистрирован: 2014-07-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

DjangoCMS и UnicodeDecodeError

Вообщем столкнулся с тойже проблемой, то что он ругается при записи в логи решается следующем образом:
В файле env/local/lib/python2.7/site-packages/pip/ basecommand.py надо изменить,
1) добавить строки перед классом Command:

# converts unicode objects to UTF-8, leaves bytestrings untouched
def to_utf8(s):
    if isinstance(s, unicode):
        return s.encode('utf-8')
    else:
        return s

2) и изменить строку 161:
text = '\n'.join(complete_log) ------> text = '\n'.join(to_utf8(l) for l in complete_log)

Но это ошибка вылетала из-за неудавшейся инсталяции причина тому библиотека Pillow и необходимые для ее работы системные библиотеки, скорее всего надо было установить только python2.7-dev, но вот полностью порядок действий.

apt-get install libjpeg-dev libpng-dev
apt-get install libjpeg8 libfreetype6 libfreetype6-dev zlib1g-dev
apt-get install python2.7-dev

После этого все заработало

Отредактировано totaki (Июль 9, 2014 08:13:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version