Instalar aplicaciones desde bash

Hola, he desarrollado una aplicación en python3 y me gustaría hacer un instalador, he probado los paquetes snap pero me fallaban las dependencias de pip, así que opte a hacer una instalación desde un script, pero no termina de funcionar, si pudieseis mirar por si veis algún error o añadiríais algo para que funcionase estaría muy agradecido.
     #!/bin/bash

    zenity --info --title="Droppy" --text="Instalación de la aplicación de notas Droppy"

  "Angelica es mi directorio no vacío que quiero copiar a la
    #ruta /usr/bin/"

  RESPUESTA=$(dpkg --get-selections | grep -w python3-pip | grep -w install)
  if [ "$RESPUESTA" = "" ]; then
      echo "python3-pip, no esta instalado, esto llevará unos minutos"
      sudo apt-get install python3-pip
  else
      echo "python3-pip, instalando dependencias"
  fi

    pip3 install -r requirements.txt

    cp -f droppy.sh /usr/bin/

    cp -f iconoDroppy.png /usr/share/icons/

    cp -R droppy /usr/bin/


    echo "[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=droppy
    Exec=/usr/local/bin/droppy.sh
    Comment= aplicación de notas que se sincroniza con dropbox
    Comment[es]= aplicación de notas que se sincroniza con dropbox
    Icon=/usr/share/icons/droppy.svg
    Categories=GTK;Utility; " >> /usr/share/applications/droppy.desktop


    # Le damos permisos a todo lo que se quiere ejecutar de nuestro programa.

    chmod +rwxs /usr/bin/droppy.sh
    chmod +x /usr/share/applications/droppy.desktop


    zenity --info --title="droppy" --text="La Instalacion a finalizado correctamente"



Gracias por adelantado.
Hola, creo que deberías revisar la documentación oficial de pip:

https://packaging.python.org/tutorials/ ... -packages/

Seguramente ahí encuentres todo lo necesario para instalar tu apliación.

Como recomendación yo te animaría a que lo empaquetases para la distribución que estés usando, si es para debian y derivados leete la "debian new maintainers guide"[1], y concrétamente para python tienes las instrucciones un poco más concretas[2]

Un saludo y ánimo que es durillo esto jeje

[1] https://www.debian.org/doc/manuals/maint-guide/
[2] https://wiki.debian.org/Python/Pybuild

#!/bin/bash

zenity --info --title="Droppy" --text="Instalación de la aplicación de notas Droppy"

apt-get install -y python3-pip

pip3 install -r requirements.txt

cp -f droppy.sh /usr/bin/
cp -f iconoDroppy.png /usr/share/icons/
cp -R droppy /usr/bin/

cat << EOF >> /usr/share/applications/droppy.desktop
[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Name=droppy
    Exec=/usr/local/bin/droppy.sh
    Comment= aplicación de notas que se sincroniza con dropbox
    Comment[es]= aplicación de notas que se sincroniza con dropbox
    Icon=/usr/share/icons/droppy.svg
    Categories=GTK;Utility;
EOF

chmod +rwxs /usr/bin/droppy.sh
chmod +x /usr/share/applications/droppy.desktop

zenity --info --title="droppy" --text="La Instalacion a finalizado correctamente"

exit 0
Parece que estar pervirtiendo el lenguaje.

Python es un intérprete y es independiente del sistema operativo. Tú aplicación o tu módulo python va a funcionar en Linux, Windows y cualquier SO que tenga el intérprete adecuado.

Desde mi humilde punto de vista tienes que:

Revisar la documentación de pip
Adaptar tu setup.py para que instale tu wheel como tú definas.
(Nice2have): adaptar tu código para ser retrocompatible con Python 2 y 3.

En resumen, no debe hacer falta un script bash para instalar tu aplicación, pop y serio.py ya se encargan de ello. Y la distribución la deberías hacer por pypi.

Saludos!
3 respuestas