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éation d'une version portable de Python [Tutoriel]


Sujet :

Python

  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut Création d'une version portable de Python
    Bonjour à tous,

    Dans le cadre de nos activités de développeurs se pose (en général) la question du déploiement de nos programmes.
    Il existe une solution simple qui consiste à créer un .exe (PyInstaller, cx_freeze, etc.)

    Une autre solution toute aussi simple serait de distribuer notre code source avec une version portable de Python.

    Je vous propose de découvrir comment réaliser cette étape dans ce court article : Création et utilisation d'une version portable de Python pour Windows

    Voir aussi les Cours et tutoriels pour apprendre la programmation Python

    Bonne lecture et n'hésitez pas à commenter.

    ++

    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Trsès interessant Jiyuu. Je pense que pour les developpeurs Windows, cela est très utile, pour par exemple des demos clients.

    >plus de soucis d'environnement
    >Deploiement facilité
    >Independance hardware
    >...

    Une info a retenir
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  3. #3
    Membre régulier Avatar de Na_Kai
    Homme Profil pro
    Apprenti en Systèmes Informatiques et Logiciels Option Administration Réseaux et Services
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti en Systèmes Informatiques et Logiciels Option Administration Réseaux et Services
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 78
    Points
    78
    Par défaut
    Super !
    Je n'avais jamais fait attention que ceci était possible .
    J'ai justement cette volonté d'installer directement le plus de chose sur ma clef pour pouvoir travailler de n'importe où, merci ça va vraiment me servir. Par contre cela prend combien de place un peu près ? (au travail et pas possible d'essayer tout de suite )

  4. #4
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    En fait ça prend guère plus que l'installation "normale". Je ne suis pas sur mon PC, mais je sais que les fichiers ajoutés ne sont pas de grosse taille.
    Pour ma part, j'ai décidé de distribuer mes programmes comme cela, donc il ne faut pas que ça soit "énorme".
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  5. #5
    Membre régulier Avatar de Na_Kai
    Homme Profil pro
    Apprenti en Systèmes Informatiques et Logiciels Option Administration Réseaux et Services
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti en Systèmes Informatiques et Logiciels Option Administration Réseaux et Services
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Na_Kai Voir le message
    Par contre cela prend combien de place un peu près ?
    J'ai réussi à me prendre quelques minute entre midi donc je me répond
    L'installation fait un peu moins de 60 Mo. Par contre, je ne sais plus combien de temps ça prend pour s'installer normalement mais là j'en ai eu pour 7-8 minutes.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    merci beaucoup pour cet article très intéressant.

    J'ai justement besoin de fournir un programme en python que j'ai codé, et je vais fournir une distribution allégée de python.

    Bien évidemment, il y a des librairies supplémentaires (numpy par exemple), mais j'aimerai fournir le minimum de fichiers possibles.

    Il y a énorméments de choses de la distribution standard que je n'utilise pas. Existe-t-il un outil équivalent à depends.exe de visual studio, pour python, et qui permettrait de dire uniquement ce dont on a besoin ?

    merci d'avance...

    Greg

  7. #7
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    merci beaucoup,
    j'ai regardé rapidement distutil, mais j'ai l'impression qu'il permet de packager un programme python, mais cela suppose aussi qu'une distribution python existe déjà sur la machine sur laquelle je vais distribuer le programme.
    Je vais regarder plus en détail, mais au cas où, je précise ce que je cherche à faire :

    Pouvoir fournir le script MonScript.py que j'ai développé + l'executable python + les fichiers de la distribution python qui sont nécessaires au script MonScript.py (et uniquement ceux qui sont nécessaires, sans plus) + les librairies externes si nécessaire...

    en tout cas merci encore, je vais regarder plus en détail distutils, et les autres qui ont l'air d'avoir plus de possibilités...

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 57
    Points : 46
    Points
    46
    Par défaut
    Bonjour,
    il semble que le lien arrive sur une page vide...

  10. #10
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Effectivement le lien pointait sur une page vide. J'ai relancé un upload et normalement c'est bon à présent.

    Merci.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  11. #11
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    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 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Très intéressant, merci!

    Jusqu'à présent, j'utilise sous Windows "portablepython" qui fonctionne très bien, et qui existe en v2.7.5 et v3.2.5. Ça me permet d'avoir un Python 3.2 sous la main, sans craindre le mélange avec mon Python 2.7 qui doit absolument rester intègre.

    Mais je n'ai pas encore compris comment ajouter un module supplémentaire à portablepython, et je ne suis même pas sûr que ce soit possible.

    De même pour ta solution, il faudrait expliquer comment on peut faire pour ajouter, par exemple numpy, sans toucher au Python déjà installé. En prenant plusieurs exemples puisque les modules peuvent être mis à disposition de Python par plusieurs méthodes (exe, setup, pip, easyinstall, etc...).

    Merci d'avance!
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  12. #12
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Perso sous j'ai installé ma version de Python sous Windows comme écrite dans le tutoriel, et installé tous les modules complémentaires de manière traditionnelle.

    Si je veux faire une version portable de mon Python il me suffit de copier-coller celle de mon PC, enfin je crois
    Il faudrait que je refasse un test pour m'en assurer, bine qu'il me semble l'avoir fait à l'époque.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  13. #13
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Version portable de python 3.5 ?
    Bonsoir à tous, je déterre ce topic suite à la sortie de python 3.5.

    L'installeur windows a été revu et désormais trois versions sont proposées au téléchargement : executable installer, web-based intaller ainsi que embeddable zip file.

    Cherchant à produire ou à me procurer une version portable de cette v3.5, un détail a attiré mon attention. La version ebmedded, en principe portable, nécessite tout de même que soit installé sur la machine cible le package "Redistribuable Visual C++ pour Visual Studio 2015".

    Le lien ici : https://docs.python.org/3.5/using/wi...d-distribution

    Les deux autres versions incluent l'installation de ce package obligatoirement. Donc si j'applique la méthode décrite par le tuto, et valable avec les précédentes versions de python 3, je me retrouve avec un interpréteur qui refuse de se lancer sur certaines à cause de l'absence du Runtime C.

    N'ayant pas toujours la possibilité d'installer ce runtime pour mes démos python, je suis à la recherche d'une solution pour produire une version 100% portable.

    Quelqu'un a-t-il la solution ?

  14. #14
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    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 : 654
    Points : 1 150
    Points
    1 150
    Par défaut A jour
    Salut,

    Galérant avec la distribution d'un programme via cx_freeze ou py2exe (mais je n'ai pas dit mon dernier mot), je cherchais une solution provisoire sous la forme d'une version portable de python. Et je suis tombé ici.

    Comme la discussion n'est pas récente, ni le tuto, j'apporte quelques infos susceptibles d’intéresser d'autres personnes dans mon cas:
    • Malheureusement portablepython n'est plus maintenu (voir site).
    • Mais la solution du tuto fonctionne très bien.
    • Il est possible de créer soit même très facilement une version plus ou moins légère et portable de python. Personnellement j'ai opté pour MiniConda de Continuum. Comme indiqué sur leur site, ce bundle propose python et des gestionnaires de paquets, le très populaire pip et leur gestionnaire maison conda. Une fois l'installation faite dans n'importe quel dossier de votre choix (sur clé ou autre), le dossier fait environ 90mo. Il suffit ensuite d'installer l'ensemble des bibliothèques que votre projet à besoin (numpy, matplotlib, openssl,... etc). Pour distribuer votre application il vous suffit de placer dans un même dossier le dossier d'installation de python, et votre projet. Un petit batch, ou un exe maison faisant explicitement appel au bon python.exe fait le reste. Au final le tout pèse assez lourd. Dans mon cas j'atteins les 1.6go tout même...

    Bref, solution toujours d'actualité, surtout que la distribution en standalone sous python ce n'est pas encore ça.

    Ciao

    Ju

Discussions similaires

  1. [Lazarus] Une version portable pour la Framakey
    Par kwaker21 dans le forum Lazarus
    Réponses: 1
    Dernier message: 27/06/2008, 07h59

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