Grigory
Окт. 13, 2014 14:03:24
Добрый день,
Помогите пожалуйста. Установил Python 2.7.8 для 64-разрядной машины (Win7). Путь к Python прописал. Скачал setuptools-6.1 и при выполнении setup.py install в cmd выводится ошибка (это последняя строка, сам лог из cmd прикреплён):
File “C:\Python27\lib\ntpath.py”, line 487, in abspath
path = _getfullpathname(path)
TypeError: must be (buffer overflow), not str
Пробовал ставить exe - успешно. Но другие модули через cmd (openpyxl, например) не устанавливаются с той же ошибкой.
Спасибо
sypper-pit
Окт. 14, 2014 01:51:28
как я понимаю вам нужно установить easy_install при этом выпадает ошибка. Вероятно это связанно с неправильностью выбранного вами пакета. Если вы поставили питон на 64-бита, а сборка идёт 32х битная. Вам нужен исходник под 64х битную версию.
sypper-pit
Окт. 14, 2014 01:52:43
посмотрите внимательно в архиве PKG-INFO там точно написано что это за пакет и к чему он ставится.
sypper-pit
Окт. 14, 2014 01:54:18
sypper-pit
Окт. 14, 2014 01:56:26
Так же очень редко бывает при неправильной кодировке.
Grigory
Окт. 14, 2014 15:55:02
Спасибо. Версия верная. Ставил python-2.7.8.amd64 (Windows X86-64 MSI Installer (2.7.8)).
Вообще, такая ошибка возникает не только при запуске easy_install, но и при вызове help(), например.
Если из-за кодировки, то что там?
sypper-pit
Окт. 14, 2014 20:46:05
Нужно посмотреть запустив команду в IDLE, выпадает эта ошибка или нет.
doza_and
Окт. 14, 2014 20:48:18
Может и не Ваш случай, но стоит проверить имя учетной записи пользователя windows. Если оно русское, то это грозит множеством ошибок в разных местах. Причем это не сразу заметно. Впрочем и русский путь к папке где вы запускаете скрипты тоже не сахар.
Grigory
Окт. 15, 2014 13:44:26
Всем спасибо! Проблема была в системных переменных TEMP и TMP, а именно в их длине: в TEMP'e как-то оказались длинные пути из PATH. Прописал в TEMP %SystemRoot%\TEMP - ошибка исчезла.
(Здесь подробно -
http://bugs.python.org/issue4071 ->
http://bugs.python.org/msg74549)Правда у меня это всё на 64-битной машине, но с 32-битным Python и библиотеками.