• # On referme une porte tout de suite au cas où

    Posté par  . Évalué à 5.

    Un fichier .exe est un exécutable prévu pour tourner sur windows, pas linux.

    Tu le sais peut être déjà, mais comme ta question manque beaucoup de précision, je préfère le dire, au cas où.

    Sinon, je ne peux pas t'aider sur le reste.

    • [^] # Re: On referme une porte tout de suite au cas où

      Posté par  . Évalué à 3. Dernière modification le 26/01/19 à 16:49.

      sinon sous linux sur ton poste tu double clic sur ton script .py et … ça ce lance !

      il faut juste que le fichier possède l'attribut executable et tu peux tout lancer, sous reserve que le fichier le permet un .jpg ne fera rien. Pour modifier l'attribut du fichier pour qu'il se lance :

      en mode console : chmod +x lenomdetonfichier.py

      pas besoin de modifier le nom en .exe, d'ailleurs tout les logiciel que tu lance s'appel par le nom sans extension : libreoffice , abiword etc …

      • [^] # Re: On referme une porte tout de suite au cas où

        Posté par  . Évalué à 2.

        Pyinstaller va créer un executable pour la plateforme sur laquelle il est lancé. Pour windows, installe activepython, puis tu lance le binaire. Attention, les modules sont entièrement dans l'exe et donc ton binaire peut avoir une taille importante.

      • [^] # Re: On referme une porte tout de suite au cas où

        Posté par  (site Web personnel) . Évalué à 1.

        clic droit sur le fichier > propriétés, et dans l'onglet permission il y a une case à cocher. Sinon, en ligne de commande:

        chmod +x fichier.py
        

        Pour qu'il soit bien exécuté par python, il faut alors que ton fichier commence par:

        #!/usr/bin/python3
        

        Ou mieux, pour que ce soit plus portable entre les distributions:

        #!/usr/bin/env python3
        

        Sous Windows, si python a été installé, les fichiers .py sont automatiquement exécutés par python.

        Un LUG en Lorraine : https://enunclic-cappel.fr

  • # Linux Mag

    Posté par  . Évalué à 3.

    Le Linux Mag qui vient de sortir est consacré justement à la compilation des scripts python
    https://boutique.ed-diamond.com/en-kiosque/1375-gnulinux-magazine-223.html

  • # Pour quoi faire ?

    Posté par  . Évalué à 2.

    Quel est le problème que tu souhaites résoudre ?

  • # Ça m'intéresse

    Posté par  (site Web personnel) . Évalué à 2.

    La réponse m'intéresse aussi. Je code dans mon coin, mais désire partager mes créations avec les personnes qui pourraient être intéressées. Cependant leur demander d'installer python, puis ouvrir cmd, lancer pip pour installer les dépendances… c'est inenvisageable. Le magazine Linux Mag explique tout ça? C'est faisable avec des logiciels libres?

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: Ça m'intéresse

      Posté par  . Évalué à 3. Dernière modification le 21/02/20 à 18:15.

      https://www.pyinstaller.org/
      Mais attention:
      test sous linux :

       % ./test.py                                                                               
      hello world
      %pyinstaller test.py
      [...]
      5287 INFO: Appending archive to ELF section in EXE python/build/test/test
      [...]
      %% du python/build/test/ -h                                                    
      40K     python/build/test/localpycos
      **4,5M**  python/build/test/

      4.5 Mo pour un simple hello world

      Et dès que des imports sont fait:

      #!/usr/bin/env python
      import math
      a=input("rayon du cercle?")
      print("perimetre= {}".format(2*math.pi*float(a)))
      print("superficie={}".format(math.pi*float(a)**2))

      => taille de 14Mo

  • # Re: merci

    Posté par  . Évalué à 1.

    sous macOS, python est installé d'office, j'avais regardé sur une vieille version , c'était la 2.x, j'ai upgadé python
    par un

    brew install python

    Reste plus qu'à te souvenir que python 3 et python 2 se comportent différemment

  • # Alternatives à PyInstaller ?

    Posté par  . Évalué à 1.

    Comme déjà proposé, l'outil de référence semble être aujourd'hui PyInstaller.

    Il y a sinon cx_Freeze et pynsist qui datent un peu mais qui peuvent sûrement encore être testés.

    La majorité des autres projets semble être non maintenus (esky, py2exe, bbfreeze…)

    À lire également, la page wiki de l'outil freeze.py sur le site du langage.
    Le script est fourni par le paquet python3.7-examples sous Debian:
    /usr/share/doc/python3.7/examples/freeze/freeze.py

    Ne pas oublier également les Zip archives pour simplifier les déploiements (mais nécessite que Python soit déjà installé):
    https://docs.python.org/3/library/zipapp.html#module-zipapp

    Une piste également (mais je n'ai pas testé) serait d'utiliser cython sur ton script.

    Merci de poster ton retour d'expérience sur le sujet lorsque tu auras fini ! :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.