Hola.

El día 15 de febrero de 2010 15:53, Dr. Bobus <drbo...@gulic.org> escribió:
> Hola todos:
>
> No se si es muy correcto enviar este mensaje a esta lista, pero quería saber 
> si puede alguien ayudarme.
>
> Un amigo me ha pedido un pequeño script para transformar unos ficheros 
> antiguos dbf a algo que pueda usar (csv).
>
> El script lo he hecho usando el paquete dbf de Ethan Furman (ver 0.84.18) 
> [1]. Abro los ficheros, realizo las transformaciones que me pidió y lo grabo 
> en csv.
>
> El asunto funciona tan ricamente, pero mi amigo usa windows y no tiene python 
> instalado. La cosa es que le "compilé" el script con py2exe.
>
> Tras "compilarlo" lo he probado en varias instalaciones windows que tengo a 
> mano (Windows 2000, windows XP y Windows 7) y funciona perfecto. Sin embargo, 
> a él no le funciona (usa windows XP último service Pack). Me comenta que al 
> ejecutarlo le dice:
>
> "no se pudo iniciar la aplicacion porque su configuracion es incorrecta. 
> Reinstalar aplicacion puede solucionar el problema."
>
> La verdad es que el programa no necesita ninguna instalación ni 
> configuración, copiarlo en una carpeta, poner en ella los ficheros a 
> transformar y darle doble clic. Así funciona en todas las pruebas que he 
> hecho. No se precisan permisos de administrador ni nada por el estilo. El 
> programa no hace nada más que abrir y cerrar ficheros. Donde lo he probado lo 
> he ejecutado como usuario normal.
>
> He estado mirando en Google y sólo he encontrado una entrada que no me 
> resuelve nada. No tengo ni idea de lo que esta diciendo Windows.
>
> Las opciones para la generación en py2exe fueron:
> "py2exe":{
>    "unbuffered": True,
>    "optimize": 2,
>    "excludes": ["pywin", "pywin.debugger", "pywin.debugger.dbgcon",
>                 "pywin.dialogs", "pywin.dialogs.list",
>                 "Tkconstants","Tkinter","tcl"
>                 ]
>     }
>
> Esto lo hice en una instalación de Python 2.6.4 usando las librerias estandar 
> salvo la comentada para manejar ficheros dbf.
>
>
> Alguna ayuda?

Tu problema ocurre porque los binarios oficiales de Python 2.6 para
Windows son compilados con MS Visual C++ 9 y por lo tanto dependen de
una biblioteca llamada 'msvcr90.dll'. En tus instalaciones de Windows
el programa funciona bien porque probablemente ya tengas una
aplicación que use esta biblioteca y la haya instalado en tu sistema.
El mismo Python 2.6 instala esta biblioteca.

Ahora la solución es sencilla: tienes que distribuir tu programa junto
con la librería 'msvcr90.dll' y el archivo manifiesto
'Microsoft.VC90.CRT.manifest'. Estos archivos deben estar en algún
lugar de tu disco duro, pero si quieres conseguirlos fácilmente,
instala Python 2.6 en modo "Sólo para este usuario" y te aparecerán en
la carpeta C:\Python26 o dónde lo hayas instalado.

Espero que te sirva.

Manuel.
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a