Есть консольная программа написанная на Python 2.7 с использованием библиотеки GDAL. Её нужно собрать в рабочий exe файл.
(Варианты установить юзерам питон и гдал на машины не подходит)
Пробовал собирать под Win7 x64 и x86 при помощи py2exe.
По инструкции: http://wiki.python.su/%D0%9F%D0%B0%D0%B ... hon/Py2exe
Вылезла ошибка:
# -*- coding: utf-8 -*-
# Этот комментарий в начале файла с кодом задаёт кодировку исходного текста.
# Если ваш исходник в кодировке Windows, укажите coding: cp1251
# Все строковые литералы в тексте программы будут в этой кодировке.
btext = 'Это байтовая строка в UTF-8'
# Однако рекомендуется использовать Unicode:
utext = u'Это строка в Unicode'
# # Можно в начале файла сделать так:
# from __future__ import unicode_literals
# utext = 'Теперь все строки по умолчанию в Unicode'
# btext = b'А это строка в UTF-8'
# Декодирование параметров командной строки:
import sys
ufilename = sys.argv[1].decode(sys.getfilesystemencoding())
# Под Windows кодировка файловой системы 'mbcs', под Linux чаще всего 'utf-8'.
# Чтение файла в кодировке UTF-8 и вывод на консоль:
import io
for uline in io.open(ufilename, 'r', encoding='utf-8'):
print(uline.encode(sys.stdout.encoding))
print(u'Выводим в консоль текстовую константу'.encode(sys.stdout.encoding))
print(b'Так тоже можно, но зачем?'.decode('utf-8').encode(sys.stdout.encoding))
# Обычно в консоли Windows кодировка stdin и stdout 'cp866',
# в интерактивных средах 'cp1251', под Linux 'utf-8'.
# Если вывод перенаправляется в файл, кодировка стандартного потока вывода
# будет None. Поэтому лучше делать так:
stdout_enc = sys.stdout.encoding or 'utf-8'
print(u'Строка Unicode'.encode(stdout_enc))
# Но если кодировка stdout определена, в него можно выводить строки
# Unicode, и они сами перекодируются правильно:
if sys.stdout.encoding:
print(u'Строка Unicode будет выведена в кодировке консоли')
sys.stdout.write(u'И эта тоже\n')