Уведомления

Группа в Telegram: @pythonsu

#1 Июль 11, 2015 13:34:16

Zorge44
Зарегистрирован: 2015-07-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

Как исправить? Помогите!

Прикреплённый файлы:
attachment gbpltw.png (98,2 KБ)

Офлайн

#2 Июль 12, 2015 01:30:39

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

Вообще на странице pypi в классификаторах указано поддержка POSIX совместимых ОС, коим Windows не относится. Вполне вероятно на данной платформе этот пакет не работает.
Но суд по ошибке, видимо это просто недоработка авторов.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 12, 2015 08:37:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

У нас кстати были битвы по поводу того WINDOWS это POSIX или нет. https://ru.wikipedia.org/wiki/POSIX#POSIX_.D0.B4.D0.BB.D1.8F_Windows

Все кончается утверждением что он POSIX но ЧАСТИЧНО :):):)

По сути проблемы. Вложите текст сообщения об ошибке в виде нормального текста на вашей картинке ни черта не видно.

Пока не видно, изложу общие соображения. Ошибки кодировки часто бывают под windows если
1. Используются папки с русскими буквами.
2. Имя пользователя русское (вообще фатально для многих пакетов, включая pip)

Рашается посто - под отладчиком пускается и правится то место где происходит падение.



Отредактировано doza_and (Июль 12, 2015 08:40:39)

Офлайн

#4 Июль 12, 2015 15:19:48

Zorge44
Зарегистрирован: 2015-07-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

doza_and
Вложите текст сообщения об ошибке в виде нормального текста на вашей картинке ни черта не видно.

Собственно, текст из Powershell:
Collecting mitmproxy
Exception:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\basecommand.py", line 223, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\commands\install.py", line 280, in run
    requirement_set.prepare_files(finder)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\req\req_set.py", line 317, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\req\req_set.py", line 304, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\req\req_set.py", line 439, in _prepare_file
    req_to_install.populate_link(finder, self.upgrade)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\req\req_install.py", line 244, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\index.py", line 486, in find_requirement
    all_versions = self._find_all_versions(req.name)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\index.py", line 404, in _find_all_versions
    index_locations = self._get_index_urls_locations(project_name)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\index.py", line 378, in _get_index_urls_locations
    page = self._get_page(main_index_url)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\index.py", line 810, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\index.py", line 920, in get_page
    "Cache-Control": "max-age=600",
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\sessions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\download.py", line 373, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\sessions.py", line 605, in send
    r.content
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\models.py", line 750, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\models.py", line 673, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\packages\urllib3\response.py", line 307,
in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\requests\packages\urllib3\response.py", line 243,
in read
    data = self._fp.read(amt)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\cachecontrol\filewrapper.py", line 54, in read
    self.__callback(self.__buf.getvalue())
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\cachecontrol\controller.py", line 244, in cache_re
sponse
    self.serializer.dumps(request, response, body=body),
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\download.py", line 276, in set
    return super(SafeFileCache, self).set(*args, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\cachecontrol\caches\file_cache.py", line 99, in se
t
    with self.lock_class(name) as lock:
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\lockfile\mkdirlockfile.py", line 18, in __init__
    LockBase.__init__(self, path, threaded, timeout)
  File "C:\Python27\lib\site-packages\pip-7.0.3-py2.7.egg\pip\_vendor\lockfile\__init__.py", line 189, in __init__
    hash(self.path)))
  File "C:\Python27\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 8: ordinal not in range(128)

doza_and
Ошибки кодировки часто бывают под windows если 1. Используются папки с русскими буквами.2. Имя пользователя русское (вообще фатально для многих пакетов, включая pip)

Имя пользователя и название всех папок (по крайней мере на диске С) не содержат русских символов.

Офлайн

#5 Июль 12, 2015 18:27:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

1. На сайте производителя есть версия под Винду, потенциально должно идти.
2. Мне удалось поставить его под XP несколько упрямился торнадо… Вобщем такой ошибки как у вас нет.

В моей версии C:\Python27\lib\ntpath.py нет даже намека на result_path = result_path + p_path - эта часть переписана.

Начните с обновления pip
pip install -U pip

у меня версия 7.1.0

Если не поможет тогда можно отлаживать процесс установки.

Мне встречался еще вариант когда программы при установке писали в реестр данные в кодировке отличной от кодировки по умолчанию что тоже приводило к неработоспособности pip. Не похоже что это ваш вариант.





Офлайн

#6 Июль 12, 2015 20:09:40

Zorge44
Зарегистрирован: 2015-07-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

doza_and
Начните с обновления pip

Обновление pip до 7.1.0 не помогло. Попробовал также поставить более ранний Python 2.7.9 - результат тот же. В любом случае, спасибо за уделенное время

Единственное, на что остается грешить, это на то, что файлы .py почему-то по умолчанию открываются командной строкой cmd, и переназначить программу по умолчанию Windows не дает (при этом .pyc по умолчанию открываются python.exe и есть возможность переназначить).

Отредактировано Zorge44 (Июль 12, 2015 20:11:05)

Офлайн

#7 Июль 13, 2015 21:39:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

А почему вы не хотите отладить процесс установки? Все сразу встанет на свои места.



Офлайн

#8 Июль 14, 2015 13:16:38

Zorge44
Зарегистрирован: 2015-07-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

doza_and
А почему вы не хотите отладить процесс установки?

Каким образом? Я в этом мало что понимаю

Офлайн

#9 Июль 14, 2015 20:46:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

Zorge44
Каким образом?
Для удобства надо поставить ide. ну под разовое использование в windows пойдет pyscripter.

насколько я помню в директории scripts pip.py отсутствует. Поэтому создаем свой аналог.
import pip
def install(package):
    pip.main(['install', package])
# Example
if __name__ == '__main__':
    install('nose')
и запускаем его на выполнение в режиме отладки.
Ставьте точку останова в последнем месте описанном в traceback ошибки(в вашем случае File “C:\Python27\lib\ntpath.py”, line 85). Когда дойдете до этого места
Посмотрите почему возникает ошибка перекодирования . И покумекайте как этого избежать.

Все это можно делать принтами, но просто это будет дольше чем поставить отладчик.

Если вы любитель консольных утилит, то можно ничего не ставить. Есть встроенный отладчик pdb.
Вставляете в тот файл в котором возникает ошибка

.....
import pdb; pdb.set_trace()
.....

и вываливаетесь в этом месте в консольный отладчик. Дальше действия аналогичны.



Отредактировано doza_and (Июль 14, 2015 20:51:50)

Офлайн

#10 Авг. 14, 2015 12:41:37

Zorge44
Зарегистрирован: 2015-07-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка UnicodeDecodeError, Python 2.7.10

Вопрос решен, нужно было просто изменить имя компьютера таким образом, чтоб в нем не было русских букв (к примеру, вместо Admin-ПК — Admin-PC).
Всем спасибо за помощь. Тема закрыта.

Отредактировано Zorge44 (Авг. 14, 2015 12:42:05)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version