Доброе утро.
Вообще траблы какието с py2exe, делаю подобную программу на mechanize:
# -*- coding: UTF-8 -*-
import mechanize
x=raw_input("Sity ")
y=raw_input("Street ")
z=raw_input("Type of street ")
n=raw_input("Number ")
br=mechanize.Browser()
br.set_proxies({'http':proxy:1234'})
br.add_proxy_password('nick','pswd')
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(),max_time=1)
print type(x)
x=x.encode("cp1251")
y=y.encode("cp1251")
z=z.encode("cp1251")
n=n.encode("cp1251")
print ("http://geocode-maps.yandex.ru/1.x/?geocode=+"+x+",+"+y+"+"+z+",+"+n)
res=br.open("http://geocode-maps.yandex.ru/1.x/?geocode=+"+x+",+"+y+"+"+z+",+"+n)
print res
content = res.read()
print content
coord=str(content).split()
lat=str(coord[-6]).split("<")
long=str(coord[-7]).split(">")
lat2=lat[0]
long2=long[1]
print lat,long,lat2,long2
в питоне отрабатывает стабильно.
Перевожу в exe:
Traceback (most recent call last):
File "mechanize3.py", line 21, in <module>
x=x.encode("cp1251")
File "encodings\cp1251.pyc", line 12, in encode
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa2 in position 0: ordinal not in range(128)
Играя с кодировками починил exe файл (в скриптере работать перестал), он отрабатывает, но обращаясь к интернет странице выдает неверный результат, видимо проблема в кодировке (На запрашиваемой странице кодировка UTF-8). Логики почему не работает в exe и работает в скриптере и наоборот я не уловил. Может кто подскажет? Или на pyinstaller перейти? Но хотелось бы разобраться…