IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

PyInstaller sous lunix


Sujet :

Déploiement/Installation Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut PyInstaller sous lunix
    Bonjour
    juste une petite question , est ce qu'il existe un logiciel qui génère un exécutable du code source python qui fonction à la fois sous Windows que sous lunix

    j'ai installer pyinstaller sous windows et j'arrive à générer l’exécutable de mon code python mais le problème que cet exécutable est d’extension .exe donc il fonctionne seulement sous Windows pas sous Lunix
    merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 308
    Par défaut
    Sous Linux, tu ne dois pas nécessairement installer un programme Python dans le sens Windows du terme.

    L'utilisateur copie simplement les fichiers du programme dans son répertoire personnel et peut directement lancer le script principal de l'appli.

    Évidement, une installation dans le dossier /usr selon les règles afin que tous les utilisateurs puissent utiliser le programme est préférable et surtout si il y a des dépendances à prévoir, des bibliothèques tierces par exemple ou encore pour avoir une entrée dans le menu des applications.

    Ceci, cependant, se fait par le biais de paquetages dont la forme et par conséquent la construction, varient selon la distribution. Deban, OpenSuze, Archlinux etc.

    Donc, en gros, tu peux directement tester sous Linux un programme Python sans l'installer, ni créer d'exe d'aucune forme, et garder la question d'une instal pour plus tard.

    Je ne dis pas que ton programme fonctionnera d'office sous Linux, faudra sans doute quelques ajustements.


    ...

    Tout ceci est valable aussi pour Lunix.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut cx_freeze, mais...
    Salut,

    Entièrement d'accord avec Vins, sous Linux, il n'y a pas vraiment de raison
    de "geler" le code python pour le rendre exécutable.

    Cela dit, il y quand même moyen de le faire via cx_Freeze. Si le script
    de "compilation" peut être commun avec celui utilisé par la version windows,
    le résultat n'est en aucun casinterchangeable. Sauf, évidement, à faire tourner l'exe dans un Wine (je ne l'ai personnellement jamais testé)

    Encore une fois, il vaut mieux, quand c'est possible, distribuer ton programme
    en mode source (du moins sous Linux). Sous Windows, et dans un réseau d'entreprise, il peu par contre être judicieux de protéger un programme contre
    les modifications des petits malins... (Sans connotation péjorative).

    A bientôt

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme je travaille essentiellement en multiplateforme (au moins Windows-Linux), j'utilise cx_freeze. Et avec cx-freeze, j'utilise la méthode avec "setup.py", et je fais en sorte que le même setup.py puisse être utilisé sans modification sous Windows et Linux.

    Sous Windows, après avoir utilisé cx_freeze, je crée une version installable avec "Inno setup". J'obtiens alors un seul fichier .exe que je peux transmettre, et qui s'installe/désinstalle facilement comme n'importe quel logiciel Windows.

    Sous Linux, je ne sais pas créer de "paquet" .rpm, .deb (mais j'aimerais bien y arriver un jour...), et je me suis donc limité à la version exécutable à recopier quelque part.

    Pour obtenir cette version exécutable avec cx_freeze sous Linux, je m'étais donné comme objectif de pouvoir l'exécuter sur un autre linux "brut d'installation", c'est à dire qui n'a pas les bibliothèques nécessaires comme PyQt4, voire qui n'a pas la bonne version de Python pré-installée. Et ça, ça n'a pas été facile, parce que l'intégration de certaines bibliothèques nécessite une instruction de cx_freeze qui n'existe que dans une version récente: il faut donc compiler un cx_freeze récent au lieu d'installer celui prévu!

    Avec ça, j'ai pu vérifier qu'un gros programme PyQt4 (10000 lignes de code), ainsi rendu exécutable sous Ubuntu avec cx_freeze, fonctionnait parfaitement sur un Ubuntu "brut d'installation" (donc sans PyQt4).

    Bref, tout ça marche très bien, et mes petites expériences sur le sujet se trouvent ici:

    http://pyqt.developpez.com/tutoriels...pyqt4/windows/

    http://pyqt.developpez.com/tutoriels...e-pyqt4/linux/

    Ainsi, bien sûr, que sur mon site: http://python.jpvweb.com/mesrecettespython/

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    je viens de tester les étapes decrites par votre lien
    l'archive de cx_Freeze je les desarchivé sur le Bureau .
    quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sudo python setup.py install
    j'ai plein d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    source/util.c:6:20: error: Python.h: Aucun fichier ou dossier de ce type
    source/util.c:405: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    source/util.c:419: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_ModuleMethods’
    source/util.c:456: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    source/util.c: In function ‘initutil’:
    source/util.c:490: warning: implicit declaration of function ‘Module_Initialize’
    error: command 'gcc' failed with exit status 1

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    le dossier desarchivé je dois le placer ou exactement dans mon repertoire de projet
    car là j'ai une erreur quand je lance la commande l'erreur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    raceback (most recent call last):
      File "setup.py", line 7, in <module>
        from cx_Freeze import setup, Executable
    ImportError: No module named cx_Freeze

Discussions similaires

  1. comment peut-on avoir Windows sous Lunix
    Par lionel84 dans le forum Mandriva / Mageia
    Réponses: 21
    Dernier message: 24/12/2008, 15h54
  2. mapping mémoire sous lunix
    Par asma_tunisienne dans le forum Autres systèmes
    Réponses: 0
    Dernier message: 07/08/2008, 15h27
  3. Réponses: 1
    Dernier message: 01/11/2007, 20h14
  4. pyinstaller sous Linux
    Par jbjweb dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 20/02/2007, 22h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo