Найти - Пользователи
Полная версия: Ошибка при попытке установить pyInstaller
Начало » Python для новичков » Ошибка при попытке установить pyInstaller
1 2
Paddy
Доброго времени суток всем.

Пробую установить PyInstaller по инструкции через pip, но выдаёт ошибку.

В самом низу, есть намек на кодировку, но всё в нужной кодировке для python'a

Exception:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\basecommand.py",
ine 211, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\commands\install.
y", line 294, in run
    requirement_set.prepare_files(finder)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\req\req_set.py",
ine 334, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\req\req_set.py",
ine 321, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\req\req_set.py",
ine 461, in _prepare_file
    req_to_install.populate_link(finder, self.upgrade)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\req\req_install.p
", line 250, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\index.py", line 4
6, in find_requirement
    all_versions = self._find_all_versions(req.name)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\index.py", line 4
4, in _find_all_versions
    index_locations = self._get_index_urls_locations(project_name)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\index.py", line 3
8, in _get_index_urls_locations
    page = self._get_page(main_index_url)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\index.py", line 8
8, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\index.py", line 9
8, in get_page
    "Cache-Control": "max-age=600",
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
essions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\download.py", lin
 373, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
essions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
essions.py", line 605, in send
    r.content
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
odels.py", line 750, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or byte
()
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
odels.py", line 673, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
ackages\urllib3\response.py", line 307, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\requests\
ackages\urllib3\response.py", line 243, in read
    data = self._fp.read(amt)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\cachecont
ol\filewrapper.py", line 54, in read
    self.__callback(self.__buf.getvalue())
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\cachecont
ol\controller.py", line 244, in cache_response
    self.serializer.dumps(request, response, body=body),
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\download.py", lin
 276, in set
    return super(SafeFileCache, self).set(*args, **kwargs)
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\cachecont
ol\caches\file_cache.py", line 99, in set
    with self.lock_class(name) as lock:
  File "C:\Python27\lib\site-packages\pip-7.1.2-py2.7.egg\pip\_vendor\lockfile\
kdirlockfile.py", line 18, in __init__
    LockBase.__init__(self, path, threaded, timeout)
  File "C:\Python27\lib\site-packages\pip-7.1.2-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 6: ordinal
not in range(128)
doza_and
Если у вас имя пользователя русское рекомендую сразу поменять на английское имя.
Надо залезть в File “C:\Python27\lib\ntpath.py”, line 85, in join
например при помощи https://docs.python.org/2/library/pdb.html
И посмотреть почему строки не сливаются. Или можно сохранить result_path и p_path в файл, чтобы понять в чем проблема.
Я вообще это место pip патчил.
Paddy
doza_and, имя пользователя и сетевое имя компьютера на Английском…
Заметил еще, если отключить интернет, то пишет, что нет соединения. Хотя вроде бы путь локален
Paddy
Сейчас после смены сетевого имени компьютера вообще происходит непонятное, а именно
пишу в cmd pip install –upgrade PyInstaller
enter
и просто висит надпись
Collecting Pyinstaller
doza_and
Paddy
если отключить интернет, то пишет, что нет соединения
pip ищет более новые пакеты в сети если не сказать –no-index.
Эксперименты с опциями на мой взгляд ПУСТАЯ ТРАТА ВРЕМЕНИ.
залезайте отладчиком и посмотрите почему строки не конкатенируются. Это дело пары минут.
были случаи когда mime типы были зарегистрированы совершенно не в той кодировке. Много чего может быть.
Paddy
doza_and, вот чем чем, а отладчиком на pythone Я еще никогда не пользовался.


Проблема решилась каким-то магическим образом, но хочется узнать как всё же работать с отладчиком.
И что именно нужно было сделать с файлом ntpath

И еще появилась одна проблема, когда делаю любой запрос например, pip list , то он начинает выполнятся, в случае с pip list список выводится и вместо того, чтобы вернуть указать для написания новой команды.. он тупо подвисает, видимо куда-то обращается и помогает например, только убийство pip через диспетчер…

Я работаю с виртуалки. Хз может есть какие-то особенности, о которых я не знаю.
doza_and
Paddy
Я работаю с виртуалки
Похоже на дикое извращение. Или вам надо настроить питон под windows?
Paddy
но хочется узнать как всё же работать с отладчиком.
А вы работали раньше с отладчиками? Про pdb ссылку дал. Рекомендую поставить ide (pyscripter,pycharm,wingide)

Ставите брейк на интересующей точке и пускаете на отладку скрипт:
import pip
pip.main(['install', "PyInstaller"])

p.s.
Ставить pyinstaller крайне не рекомендую. Делать из модулей питона исполняемый код это крайнее извращение. Лучше сделать bootstrap.exe который поставит питон в целевую систему при необходимости. Дальше по мере необходимости надо будет доставлять пакеты через pip.
Paddy
doza_and, PyCharm у меня есть.

doza_and
Похоже на дикое извращение. Или вам надо настроить питон под windows?
Походу да. Иначе не могу объяснить, то что даже самая элементарная команда pip list не выполняется до конца.
doza_and
Paddy
PyCharm у меня есть.
:) Вы его уже запустили и дождались когда закончится построение индекса?
Paddy
Походу да.
Я так понял что питон на виртуальной машине Windows. А сами сидите на другой ОС (Мак или юникс надо полагать). В ваших ОС есть предустановленый питон почему им не воспользоваться?
Paddy
doza_and
Я так понял что питон на виртуальной машине Windows. А сами сидите на другой ОС (Мак или юникс надо полагать).
Да, у меня на ВМ Windows и на самом ПК Windows, не очень люблю переустанавливать windows именно поэтому на свою рабочую систему ничего не ставлю.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB