Quando eu faço minhas App usando PyGTK não é problema empacotar a aplicação no Linux, mas no Windows era, até eu conhecer o py2exe.
Ele funciona assim: você cria um script em .py com as instruções de empacotamento. O Py2exe compila seus scripts, pega alguns .dll e bota numa pasta chamada dist ( você deve empacotar TUDO que estiver dentro dessa pasta ) Para criar um .exe de um script de console, clique aqui, caso contrário, crie um arquivo .py e cole esse modelo nele:
Aconselho você a botar o código fonte numa pasta separada ( src ) do script ..
# -*- coding: utf-8 -*-
## setup_win32.py (run me as python setup_win32.py py2exe -O2)
##
## Copyright (C) 2003-2006 Yann Le Boulanger
## Copyright (C) 2005-2006 Nikos Kouremenos
## Copyright (C) 2007 Marcelo Lira dos Santos
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published
## by the Free Software Foundation; version 2 only.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
from distutils.core import setup
import py2exe
import glob
import sys
sys.path.append('src') # o código fonte ta aqui
includes = ['encodings', 'encodings.utf-8',]
opts = {
'py2exe': {
'includes': 'pango,atk,gobject,cairo,pangocairo,gtk.keysyms,encodings,encodings.*',
'dll_excludes': [
'iconv.dll','intl.dll','libatk-1.0-0.dll',
'libgdk_pixbuf-2.0-0.dll','libgdk-win32-2.0-0.dll',
'libglib-2.0-0.dll','libgmodule-2.0-0.dll',
'libgobject-2.0-0.dll','libgthread-2.0-0.dll',
'libgtk-win32-2.0-0.dll','libpango-1.0-0.dll',
'libpangowin32-1.0-0.dll','libcairo-2.dll',
'libpangocairo-1.0-0.dll','libpangoft2-1.0-0.dll',
],
}
}
setup(
name = 'Aplicacao',
version = '1.0',
description = 'Uma aplicação qualquer',
author = 'Vc',
url = '',
download_url = '',
license = 'GPL',
windows = [{'script': 'src/aplicacao.pyw', #aqui fica o script principal
'icon_resources': [(1, 'glade/icone.ico')]}], #aqui fica o icone do programa
options=opts,
data_files=[('glade', glob.glob('glade/*.*')), # pastas e arquivos que acompanham o programa
('data', glob.glob('data/*.*')),
],
)
Esse script é apenas um modelo. Edite conforme as suas necessidades.A parte da compilação é um pouco nojenta … Abra o console do Windows ( Iniciar > Executar > cmd ), vá até a pasta aonde o script tá e lasque no terminal:
python setup_win32.py py2exe -O2
Logo após, se não houver nenhum erro, as pastas dist e build serão criadas e pronto !
MAS ATENÇÃO, para o programa funcionar em outros computadores , o GTK deverá estar instalado!!! Se você quiser embutir o GTK, siga esse tuto
