win32ui win32print python installation install

win32ui - win32print python download



Instale Python 2.6 sin usar el instalador en Win32 (6)

Necesito ejecutar un script de Python en una máquina que no tenga Python instalado. Uso Python como parte de un paquete de software, y Python se ejecuta detrás de la cortina sin que el usuario se dé cuenta.

Lo que hice fue como sigue.

  1. Copie python.exe, python26.dll, msvcr90.dll y Microsoft.VC90.CRT.manifest
  2. Zip todo el directorio en el directorio LIBs como el python26.zip
  3. Copie todos los archivos dll / pyd necesarios dentro del directorio DLL.

Parece que funciona, pero cuando cambio python26.zip al otro nombre como pythonlib.zip, ya no puede encontrar la biblioteca de Python.

  • Pregunta 1: ¿Cuál es la magia detrás del nombre python26.zip? Python encuentra automáticamente una biblioteca dentro de python26.zip, pero no con un nombre diferente?
  • Pregunta 2: Si tengo python26.zip en el mismo directorio donde se encuentra python.exe / python26.dll, no necesito agregar la ruta sys.path.append (THE PATH TO python26.zip). ¿Es correcto?

Python tiene bibliotecas integradas, y sys es una de ellas. Pensé que podía usar sys.path para apuntar a cualquier biblioteca de Python en el archivo ZIP que necesitaba. Pero, sorprendentemente, si uso el nombre de la biblioteca como Python26.zip, simplemente funcionó. ¿Por qué esto es tan?


Busqué en el código fuente del intérprete de Python e hice algunos experimentos. Y encontré que el intérprete de Python antepone "EL DIRECTORIO DE PYTHONXXX.DLL + pythonXXX.zip" no importa qué. XXX es la versión del intérprete de Python.

Como resultado, si hay un python26.zip en el mismo directorio que el python26.dll. Podría usar toda la biblioteca de Python automáticamente.


Del blog de Sylvain Pointeau :

El procedimiento es realmente muy simple, solo descargue el instalador msi de http://www.python.org/getit/ y escriba el comando:

C:/development/apps>msiexec /a python-3.3.2.msi /qb TARGETDIR=C:/development/apps/python33

Su ejemplo utiliza msiexec (también conocido como MSI Administrative Installer para su gente UniExtract) para forzar un extracto a TARGETDIR . Notarás que hay un instalador interno que eliminas.

EDITAR: También puede silenciarlo, pero hacer esto cada vez que quiera usar python parece tonto. Simplemente extraiga a un tempdir y luego limpie cuando lo desinstalen.

PD: ¡No vi cuántos años tenía esto! :RE


He estado usando PortablePython por un año, y me parece genial ya que está funcionando en mi cuaderno de trabajo bloqueado.

Hay un Python 2.5.4, 2.6.1 y una versión 3.0.1.


Otra opción es instalar WinPython . Utiliza un instalador, pero no requiere derechos de administrador (probado en Windows 7). A diferencia de Portable Python, incluso tiene una versión de Python 3.3.5.


Otra opción podría ser considerar PyInstaller que creará aplicaciones de Python independientes y multiplataforma. Desde la página de inicio:

PyInstaller es un programa que convierte (paquetes) los programas de Python en ejecutables independientes, bajo Windows, Linux y Mac OS X. [...] El objetivo principal de PyInstaller es ser compatible con paquetes de terceros fuera de - la caja. Esto significa que, con PyInstaller, todos los trucos necesarios para hacer que los paquetes externos funcionen ya están integrados dentro de PyInstaller para que no se requiera la intervención del usuario. Nunca se le pedirá que busque trucos en wikis y aplique modificaciones personalizadas a sus archivos o sus scripts de configuración. Como ejemplo, las bibliotecas como PyQt y Matplotlib son totalmente compatibles, sin tener que manejar complementos o archivos de datos externos manualmente. Consulte nuestra lista de compatibilidad de paquetes compatibles.


py2exe te permitirá compilar tu script Python en un ejecutable de Windows. Puede o no funcionar mejor que PortablePython, pero quizás podría ser un poco más limpio con respecto a la cantidad de archivos que necesita distribuir para su programa "detrás de la cortina".