Como Python es un lenguaje interpretado, este no se compila a un ejecutable como otros lenguajes de programacion, como C#. No obstante, podemos empaquetar el paquete de Python como un ejecutable mediante la libreria pyinstaller
:
-
Utilizando
pyinstaller main.py --onefile
, siendo el archivomain.py
la aplicacion realizada previamente, podemos empaquetar la aplicación en un ejecutable. -
Luego, creamos el paquete de Chocolatey mediante el comando
choco new pykrange.portable
. El nombrepykrange.portable
representa el nombre del paquete. -
Modificamos el archivo
.nuspec
para establecer los autores, licencias, version del paquete y dependencias. En este caso, no necesitamos dependencias debido a que este paquete de Chocolatey contiene un ejecutable con la aplicacion de Python. NOTA: Esta forma de subir paquetes algunos la denotan como "sucia", debido a que se anda subiendo un ejecutable y no un paquete como tal. -
Modificamos el
chocolateyinstall.ps1
agregando el nombre del paquete, ruta, tipo del archivo y nombre del archivo, además del comandoInstall-BinFile
para instalar el ejecutable como un archivo binario. -
Modificamos el
chocolateyuninstall.ps1
agregamos los argumentos del paquete al documento y el comandoUninstall-BinFile -Name "${packageName}"
. -
Se agrega el archivo de LINCENSE.txt con la licencia del MIT.
-
Luego de crear el ejecutable, accedemos a la carpeta pykrange.portable.
-
Ejecutamos el comando
choco pack
. -
Accedemos a la consola PowerShell con permisos de Administrador y ejectuamos el comando
choco install pykrange.portable -dv -s .
-
Durante la instalacion del paquete nos preguntara que si queremos ejectuar el script y escribimos 'A' para ejecutarlo. Luego de ejectuar estos pasos, nuestro paquete deberia estar instalado en nuestra máquina local.
-
Ejecutamos nuestro paquete ejecutando el comando
pykrange.portable
y verificamos que nuestra aplicacion este funcionando de manera correcta. -
Posteriormente creamos una cuenta en Chocolatey utilizando la siguiente direccion: https://community.chocolatey.org/account/register.
-
Utilizando la API key generada por la página, utilizamos el comando
choco apikey --key API_KEY --source https://push.chocolatey.org/
, dondeAPI_KEY
representa la llave de acceso para publicar un paquete de Chocolatey. -
Una vez establecido el API key de nuestra cuenta, subimos el paquete mediante el comando
choco push PACKAGE_NAME --source https://push.chocolatey.org/
, dondePACKAGE_NAME
representa el nombre del paquete. En este caso, el nombre del paquete fue pykrange.portable.0.1.0.nupkg.