Недавно пытался установить модуль setuptools для Python 2.7 под Windows XP.
По документации установка проходит буквально в два клика: запускаем
В моем случае на этапе установки вылезла ошибка:
Полез в гугл. Основное предлагаемое решение - удалить в разделе "HKEY_CLASSES_ROOT\MIME\Database\Content Type" все подразделы, в названии которых есть русские символы (точнее, символы не из кодировки ascii). Например, см. здесь, здесь или здесь.
Полез по указанному пути. Проверил на несколько раз. Разделов с запретными названиями не было!
Дальнейшее гугление ни к чему не привело.
Собственно, вот к какому решению я пришел после некоторых исследований:
По документации установка проходит буквально в два клика: запускаем
python ez_install.pyждем, пока скачается и установится модуль, наслаждаемся жизнью.
В моем случае на этапе установки вылезла ошибка:
Installing Setuptools Traceback (most recent call last): File "setup.py", line 17, in exec(init_file.read(), command_ns) File "", line 8, in File "c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\__ init__.py", line 11, in from setuptools.extension import Extension File "c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\ex tension.py", line 5, in from setuptools.dist import _get_unpatched File "c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\di st.py", line 15, in from setuptools.compat import numeric_types, basestring File "c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\co mpat.py", line 19, in from SimpleHTTPServer import SimpleHTTPRequestHandler File "c:\python27\lib\SimpleHTTPServer.py", line 27, in class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): File "c:\python27\lib\SimpleHTTPServer.py", line 208, in SimpleHTTPRequestHand ler mimetypes.init() # try to read system mime.types File "c:\python27\lib\mimetypes.py", line 358, in init db.read_windows_registry() File "c:\python27\lib\mimetypes.py", line 258, in read_windows_registry for subkeyname in enum_types(hkcr): File "c:\python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! UnicodeDecodeError: 'ascii' codec can't decode byte 0xae in position 11: ordinal not in range(128) Something went wrong during the installation. See the error message above.
Полез в гугл. Основное предлагаемое решение - удалить в разделе "HKEY_CLASSES_ROOT\MIME\Database\Content Type" все подразделы, в названии которых есть русские символы (точнее, символы не из кодировки ascii). Например, см. здесь, здесь или здесь.
Полез по указанному пути. Проверил на несколько раз. Разделов с запретными названиями не было!
Дальнейшее гугление ни к чему не привело.
Собственно, вот к какому решению я пришел после некоторых исследований:
- Открываем c:\python27\lib\mimetypes.py
- Переходим на строку 249
ctype = ctype.encode(default_encoding)
- Перед этой строкой вставляем
print ctype
- Сохраняем
- Запускаем
еще раз.python ez_install.py
- Видим, как на консоль выводятся некие строки - это названия разделов реестра, которые сейчас просматривает установщик.
- В определенный момент вывод строк остановится, и последней из этих строк будет строка с "кракозябрами" (ну или с русскими символами - зависит от того, как настроена консоль).
- Далее всё просто - если в строке "кракозябры", то с помощью любимого текстового редактора переводим символы в нужную кодировку, и делаем поиск в реестре по этим символам.
- Далее удаляем или переименовываем этот раздел и запускаем установщик заново.