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/