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 :

Créer un installateur pour différentes bibliothèques


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut Créer un installateur pour différentes bibliothèques
    Bonsoir,
    je connais pas mal de collègues enseignats qui reprochent à Python la nécessité d'avoir à installer différentes bibliothèques. Cela les lasse. Je trouve ceci dommage car à l'usage, Python est très vite adopter par les lycéens.

    Je me demande donc si quelqu'un pourrait me montrer comment faire un installateur EXE pour Windows, un dmg pour Mac et enfin un deb pour Linux qui par exemple installerait Sympy, NetworkX, mpmath et matplotlib.

    Mon idée serait de construire un projet vide nécessitant chacune des bibliothèques.

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Euh… rambc, pour linux, je vois pas trop l’intérêt*? Tous ces projets sont déjà packagés dans les dépôts officiels (en tout cas, pour debian, mais je suis sûr que c’est le cas pour toutes les grandes distribs…).

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    On est d'accord mais il y a des "handicapés" de synaptic....

    Autre intérêt : proposer un outil utilisable par un élève de 2nde facilement.

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonsoir,

    J'adore.
    Si cela te dit je suis prêt à te donner un coup de main (à mon niveau) coté Win/Tux (rpm/apt-get/dépôts etc).

    Une interface 'basique' et la gestion par plateforme ?
    Un binaire par plateforme ?
    Puisque c'est ton sujet donne tes idées sur la chose.

    @+

  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,

    Je suis d'accord: le fait de transmettre une programme Python avec toutes ses bibliothèques a 2 avantages:

    - ne pas obliger l'utilisateur à installer avant tous les modules supplémentaires nécessaires

    - échapper aux problèmes de version entre le programme transmis et ce que l'utilisateur a déjà sur son PC (Python 2.4, 2.7, 3.2, ...).

    J'ai déjà fait quelque chose avec cx_freeze et PyQt4 sous Windows et Linux (tutos sur mon site et sur developpez). Je veux bien essayer avec Sympy et MatPlotLib que j'ai déjà, même si je ne les utilise pas beaucoup.

    Aussi, si quelqu'un peut me fournir un code typique (<1 page) en Python 2.7 dans les 2 cas Simpy et MatPlotLib, ça me faciliterait les choses.

    Cx_freeze donne, sous Windows et Linux, un répertoire à transmettre contenant le ou les exécutable(s): on n'a donc pas besoin d'installer, il suffit de créer les raccourcis de lancement sur le bureau.

    Sous Windows, il est facile de fabriquer avec le résultat de cx_freeze un programme installable/désinstallable avec innosetup. Sous Linux, je ne sais pas (encore) faire un rpm ou un deb.

    En tout cas, c'est un problème important pour la diffusion de Python.

    Tyrtamos

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Re,

    Citation Envoyé par tyrtamos Voir le message
    En tout cas, c'est un problème important pour la diffusion de Python.
    D'où mon intérêt pour le sujet de rambc : Un installateur universel en mode graphique.

    Pas de problème pour ce qui est de la banquise pour moi, cela fais un moment que j'y suis (J'ai participer (coter os) au premières versions fr d'Ubuntu et je bosse sur des distrib sur base redhat).

    Par contre pour PyQt4... Connais pas (comprendre encore). Je propose plutôt tk, plus universel.

    @+

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    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 754
    Par défaut EPD
    Salut,

    Je vous recommande d'aller jeter un œil aux versions packagées d'Enthought qui sont orientées "scientifique".

    Elles sont normalement utilisables "free of charge" pour les étudiants(*).

    Vous avez des .MSI et .DMG qui packagent plus de 50 bibliothèques Python (excepté mpmath qui doit certainement être remplaçable par une des bibliothèques).

    Ils embarquent tellement de packages qu'ils viennent à peine de sortir une 7.0 de leur "bundle" avec Python 2.7.x. Mais pour débuter, c'est probablement suffisant.

    - W
    (*) 'normalement' <=> vérifiez quand même avec un juriste.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Oui...

    Et de proposer un installateur qui les télécharges pose problème ?

  9. #9
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je vous recommande d'aller jeter un œil aux versions packagées d'Enthought qui sont orientées "scientifique".
    Je vais me contenter de ceci finalement. Je lirais un peu plus en détail la licence mais il semble que l'usage soit libre pour un usage d'enseignement :
    2. EPD Software License

    Commencing on the Effective Date, Enthought grants You a perpetual, non-exclusive right to use EPD pursuant to the terms and conditions of this Agreement. The specific use rights granted to You are as follows:

    A. "Academic User License". Each Academic User License grants You the right to install and use the then current version of EPD on as many computers or workstations as may be required for Your individual use of EPD. You may make as many copies of EPD as are reasonably required for normal computer backup and archival purposes. All copies must contain all title, trademark, and copyright information and restricted rights notices as are provided in EPD and shall not remove or obscure any such notices.

    B. You may distribute EPD and Third Party Software as a component of an application or as standalone software, provided that any such distribution is within the academic community and not for commercial purposes. You further agree that You will comply at all times with all applicable laws and regulations in using EPD.

    C. "Academic License". For Customers using EPD for education or research in a degree-granting institution, the license agreement controlling the usage of the Software can be found at the following location: http://www.enthought.com/EPDAcademicTerms.html.
    Gros plus de cette distribution : matplotlib s'est installé simplement et sans souci sur mon Mac.

  10. #10
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonsoir,
    en fait il y a aussi Python(x,y) sous Windaube. Ce n'est pas trop mal mais j'aimerais avoir un truc minimaliste si possible.

    De plus, je vais peut-être créé un module perso. pour faciliter certaines choses comme par exemple l'utilisation de rep = ask('Bla, bla,...') qui permettra d'avoir une petite fenêtre de dialogue Tkinter. Du coup, si cela se fait, j'ajouterais alors aussi ce module perso. en plus des bibliothèques.


    Donc je réitère ma demande d'aide à savoir faire un installateur via des outils standards. J'avais posé des questions sur ce forum mais je n'ai toujours pas trouvé une heure ou deux pour tester ceci.

    Je répète mon idée : on fait un module bidon, une coquille vide, qui a besoin des bibliothèques citées.

    J'imagine qu'ensuite, on peut aller plus loin avec des modules persos, ceci afin de répondre à certains exigences propres au Lycée.

    Par contre, pas de PyQt, ni de wxPython, l'idée étant de partir d'un Python "vierge".

    Citation Envoyé par tyrtamos Voir le message
    Je veux bien essayer avec Sympy et MatPlotLib que j'ai déjà, même si je ne les utilise pas beaucoup.
    Peux-tu faire un essai ? Je testerais volontiers sur mon min-pc. De quoi aurais-tu besoin ?

  11. #11
    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 rambc,

    Citation Envoyé par rambc Voir le message
    De quoi aurais-tu besoin ?
    Je l'ai dis dans mon message: un code 'type' (<1page) en Python 2.7 dans chacune des 2 catégories sympy et matplotlib.

    Sur le plan méthodologique avec cx_freeze, il faut mettre au point le "setup.py" qui va bien avec les modules en question. Je dispose d'un modèle de setup.py que je fais évoluer en fonction de mes expériences (http://python.jpvweb.com/mesrecettes...p?id=cx_freeze).

    Le problème est que la notice de cx_freeze n'est -vraiment- pas terrible (et avec des erreurs) et que les tutos sont rarissimes. C'est dommage, parce que bien configuré, cx_freeze fait des choses étonnantes.

    Tyrtamos

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/02/2015, 10h29
  2. Réponses: 0
    Dernier message: 30/03/2012, 11h01
  3. [WebI Xi] Créer des rapports pour dates différentes pour une même requête
    Par MorningMemories dans le forum Débuter
    Réponses: 2
    Dernier message: 22/03/2012, 16h59
  4. [SketchFlow] Créer différentes sources pour différents états
    Par NejNej dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 02/03/2011, 14h40
  5. Réponses: 3
    Dernier message: 02/04/2010, 19h15

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