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

Python Discussion :

distribuer (efficacement) du python sous win et linux


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut distribuer (efficacement) du python sous win et linux
    Salut tous,

    je suis nouveau sur python (je m'en sers pour remplacer matlab notamment, mais pas que...) et j'aimerais distribuer
    à des amis et/ou stagiaires un executable qui permet de générer un fichier de données dont ils ont besoin pour utiliser
    certaines ressources à leur disposition (long à expliquer...). Dans mes programmes j'utilise les librairies "numpy",
    "scipy", "matplotlib".

    Les personnes à qui je veux donner ce programme sont pour la plupart pas informaticiennes et en plus pas administratives
    de leur machine (la majorité sont linux mais il y a aussi des windows). Du coup, s'il vous plait, ne rentrons pas dans le débat
    de dire qu'il faut absolument installer python... car ils n'ont pas la possibilité et moi je n'ai pas la légimité pour l'imposer ceci
    à l'administration bien que ça rendrait service à pas mal de monde. (Je raconte un peu ma life mais c'est pour éviter de rentrer
    dans des débats stérils).

    J'ai regardé sur le net comment générer des executables "standalone" avec python et apparemment c'est sujet à pas mal de débats et
    je n'ai pas tout compris (souvent à cause de débat stérils en plein milieu d'une discussion de fond).
    Du coup, je viens vers vous pour savoir si il existe vraiment sous python une méthode efficace pour distribuer un executable à une
    personne qui n'a pas python sur son unix ou son windows ??


    - Pour windows j'ai cru comprendre que Py2exe était bien mais apparememnt on se trimbale de très gros ".exe" ? mais n'est il pas possible
    de "compiler" juste les librairies/fonctions nécessaires ?

    - Pour linux j'avais compris que "python monFichier.py" générait un fichier ".pyc" standalone mais apparemment il semblerait que je me suis trompé...?

    bref, je suis un peu pommé. J'ai lu pas mal d'avis divers et je n'ai pas réussi à comprendre quelle sont les bonnes solutions à utiliser pour distribuer
    un bout de code python ??

    j'espère que vous pourrez m'aide et je vous en remercie d'avance grandement


    tchao

    ps: moi j'ai python sous windows et linux donc je peux ""compiler"" sous les deux pour distribuer à ces deux types d'utilisateurs

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    Je te conseil d'aller jeter un oeil à la rubrique Deploiement/Installation.

    Il me semble (pour avoir déjà chercher sur le sujet) qu'il n'est pas possible de compiler un programme python. Cependant tu peux créer un executable (.exe) pour windows et l'équivalent sur Linux. Il y a plusieurs solutions (telles que py2exe) pour rattacher dans un unique dossier l'executable, les fichiers scripts de ton programme (et tout ce qui est nécessaire à son fonctionnement, comme des images, fichiers d'inputs, readme etc...) ET l'ensemble des bibliothèques nécessaires, don't numpy, matplotlib, etc...

    L'éxecutable en lui même n'est pas lourd, mais le dossier dans sa totalité peut l'être.

    Moi perso j'ai une preference pour cxfreeze.

    Sinon, il me semble que toute distribution Linux vient avec Python 2.7 et 3.x d'installé par défaut.

    J

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    Si le but de votre application est de produire un fichier à partir de... pourquoi ne pas déposer le fichier produit sur un "partage"?
    Une autre solution (qui évite d'installer sur N postes de travail et les embarras de versions d'OS, de Python and C°) pourrait être de construire un serveur Web qui permette de produire les données et de les charger.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Pour ce qui est de Windows, j'obtiens une distribution (un répertoire contenant un exe) grâce à py2exe, j’empaquète ensuite cette distribution grâce à Inno Setup qui me fabrique un fichier genre "instal.exe". Cet installeur copie la distribution sur la machine client et ajoute un raccourci dans les menus moyennant un peu de configuration. Inno setup propose par défaut d'installer dans "C:/program files"... Ce qui est à déconseiller si l'application installée a besoin d'écrire dans les fichier de la distribution. Encore une fois, un peu de config Inno Setup permet de changer le répertoire d'installation par défaut.

    A+

    Pfeuh

  5. #5
    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,

    Sous Windows, on peut aussi utiliser un Python portable . On peut ainsi lancer l'interpréteur portable et le script du programme avec un simple fichier .bat. On peut aussi créer à la main un raccourci sur le bureau pour lancer le fichier .bat. J'ai un programme distribué avec une clé USB qui fonctionnent comme ça, et ça marche très bien.

    Sous Linux, les Linux récents ont Python 2 et 3 pré-installés, mais pas forcément avec les modules demandés. Si on exclut toute installation, on peut utiliser cx_freeze

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    merci tous pour vos réponses !!!
    je pense que je vais opter pour la solution "cxfreeze", j'ai regardé sur le net et ça à l'air vraiment pas mal.
    Il semblerait même que l'on ne soit pas obligé de mettre dans le dossier les librairies dans leur globalité, on peut se contenter juste du stricte nécessaire
    (à vérifier mais c'est ce que j'ai cru comprendre)
    A bientôt et merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. NoClassDefFoundError sous win, mais ok sous linux
    Par robert_trudel dans le forum Général Java
    Réponses: 1
    Dernier message: 15/02/2007, 09h07
  2. Partition linux sous Win XP
    Par orion57 dans le forum Administration système
    Réponses: 10
    Dernier message: 10/01/2007, 12h07
  3. [portabilité] ok sous Win, mais pas sur Mac/linux
    Par absolut75 dans le forum Général Java
    Réponses: 11
    Dernier message: 11/10/2006, 17h14
  4. [Tkinter] Python sous Linux
    Par PMdomine dans le forum Tkinter
    Réponses: 7
    Dernier message: 06/03/2006, 20h56
  5. Apache aussi rapide sous Win que sous Linux ?
    Par beastman007 dans le forum Apache
    Réponses: 1
    Dernier message: 20/10/2005, 15h19

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