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 :

Distribuer un programme python en .py


Sujet :

Déploiement/Installation 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 Distribuer un programme python en .py
    Bonjour à tous,

    Je souhaiterai avoir votre avis sur une question que je me pose.
    Ayant des problèmes pour compiler mon code, je me dis que je pourrai plutôt le distribuer de manière à ce que l'utilisateur puisse lancer directement le .py, (au risque évidemment que le gugus du coin le modifie et que celui ci ne soit plus opérationnel, mais là c'est plus mon problème).

    Afin de faire ceci et comme python et les autres librairies ne sont pas installés sur tous les ordi, il faut que je les distribue moi-même.

    Donc je me demande ce qu'il faut mettre au minima pour que cela fonctionne.
    Par exemple, j'utilise dans mon code les imports wx, reportlab, os et math. Il y a t-il un moyen pour prendre seulement ce dont j'ai besoin?
    Le problème avec cette méthode, c'est la taille du programme. C'est pourquoi je souhaite éviter d'importer des choses inutiles.

    Si ce n'est pas le cas, est-ce qu'un simple copier-coller de mon répertoire python26 suffit?

    Comme je suis sur un salon pour le taf, j'ai pas trop le temps et les moyens pour le moment de faire les tests moi-même, c'est pourquoi je prends 5min pour poster ce message.

    D'avance merci

    D'avance merci

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour,

    de memoire (je suis aussi au travail), une copie du répertoire python permet de lancer ton programme si tu y ajoutes la dll python26 (qui se trouve dans system32 je crois).
    Tu es obligé aussi de faire un .bat style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\\mon_rep_python\python.exe monprogramme.py
    .

    Je verifierais en rentrant.

    @+

  3. #3
    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
    Citation Envoyé par pacificator Voir le message
    Bonjour,

    de memoire (je suis aussi au travail), une copie du répertoire python permet de lancer ton programme si tu y ajoutes la dll python26 (qui se trouve dans system32 je crois).
    Tu es obligé aussi de faire un .bat style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\\mon_rep_python\python.exe monprogramme.py
    .

    Je verifierais en rentrant.

    @+
    Je vérifierai aussi car il me semble qu'une installation sur clé usb est possible. par contre je n'aurai pas pensé à la dll. Il reste à savoir où l'installer.
    On essaye et on se tient au courant

  4. #4
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Citation Envoyé par Jiyuu Voir le message
    Il reste à savoir où l'installer.
    directement dans le répertoire contenant python.exe (toujours de tête hein...)

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

    J'ai donc mis mon dossier python et la dll sur une clé usb. J'ai essayé de double cliquer sur python.exe sur un PC où il n'y a pas python et ça lance le shell.
    Donc nikel.

    J'ai fait le .bat sur ma clé usb en indiquant les chemins de python.exe et de mon script, mais là par contre ça ne le lance pas.

    As-tu une idée?

    @+

  6. #6
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    soit tu utilises des chemins absolues:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g:\python26\python.exe g:\monrep\monscript.py
    ou des chemins relatifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .\python26\python.exe .\monrep\monscript.py
    après, faut vérifier entre les /, les \ et les \\ ...

  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
    Par défaut
    Citation Envoyé par pacificator Voir le message
    soit tu utilises des chemins absolues:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g:\python26\python.exe g:\monrep\monscript.py
    ou des chemins relatifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .\python26\python.exe .\monrep\monscript.py
    après, faut vérifier entre les /, les \ et les \\ ...
    J'ai utilisé des absolus. Par contre je n'ai pas pensé au /, \, \\

    j'ai réessayé avec \\ et ça marche. par contre je pense que tout à l'heure j'ai peut-être fait une erreur dans mes chemins d'accès.
    Par contre c'est assez long à démarrer. Crois-tu que cela soit normal et éventuellement améliorable?

  8. #8
    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
    Hello,

    Savez-vous s'il est possible de lancer le script py avec un .bat (comme indiqué ci-dessus) et, une fois ce script lancé, fermé le .bat sans pour autant fermer l'application issu de l'exécution du script.

    D'avance merci

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Heu, pour le coup du .bat, tu n'es pas dans un environnement unix
    Si tu ferme ton batch tu vas quitter ton appli.

    Par contre, si tu regardais du côté des raccourcis en utilisant pythonw.exe au lieu de python.exe cela ne répondrait pas à ta question ?

    Car, j'imagine que l'idée est de plus avoir cette vilaine fenêtre de commande ...

    Salutations.

  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
    Citation Envoyé par aepli Voir le message
    Bonjour,

    Heu, pour le coup du .bat, tu n'es pas dans un environnement unix
    Si tu ferme ton batch tu vas quitter ton appli.

    Par contre, si tu regardais du côté des raccourcis en utilisant pythonw.exe au lieu de python.exe cela ne répondrait pas à ta question ?

    Car, j'imagine que l'idée est de plus avoir cette vilaine fenêtre de commande ...

    Salutations.
    Re,

    Effectivement l'idée est de ne plus avoir cette vilaine fenêtre. Mais l'utilisation de pythonw.exe ne va pas résoudre mon problème car c'est celle qui est lancée par le .bat et non par le .py qui me gêne.

    Par contre excuse mais je vois pas comment faire avec les raccourcis? Peux-tu être plus explicite?

    Merci

  11. #11
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Salut,

    J'ai fait un raccourci (cf capture) et ça fonctionne.
    A essayer en 'itinerant'...
    Images attachées Images attachées  

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Dsl de répondre qu'aujourd'hui. Par contre, je crois que pacificator a déjà répondu à la question, c'est effectivement a ça que je pensais.

    Sinon, si tu es quand même obligé de passer par des fichiers batch, par exemple pour un pré ou un post traitement de ton script.
    Je te conseil de regarder le programme: Bat To Exe Converter.

    Salutations.

  13. #13
    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
    J'ai essayé la solution de Pacificator en "intinérant" (sur clé usb et avec un PC qui n'a pas python).
    A priori ça ne fonctionne pas. Mais comme j'ai essayé ça sur un veaux plutôt qu'un PC (équipé tout de même de win XP) je me pose des questions.

    A tout hasard auriez vous essayé de votre coté.
    Je regarderai aussi du coté de Bat To Exe Converter dans la journée.


    D'avance merci

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Juste pour clarifier la situation, je ne te répondait que sur la méthode pour lancer ton programme .py à l'aide d'un batch et non sur l'installation des différents composants de Python sur un Windows vierge.

    As tu bien copié le dossier de python dans la racine d'un des disques de ce "nouveau Windows", ainsi que le fichier python26.dll dans le dossier c:\windows\system32 ?

    Deuxième question, quand tu dis cela ne fonctionne pas, quel est le message d'erreur ?

    Salutations.

  15. #15
    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
    Citation Envoyé par aepli Voir le message
    Bonjour,

    As tu bien copié le dossier de python dans la racine d'un des disques de ce "nouveau Windows", ainsi que le fichier python26.dll dans le dossier c:\windows\system32 ?
    J'ai copié le dll dans le même dossier que celui où python.exe est installé. Cela fonctionne car le lancement avec le batch marche très bien. Mon seul souci c'est l'apparition de la fenêtre que je souhaiterai ne pas avoir.

    Citation Envoyé par aepli Voir le message
    Deuxième question, quand tu dis cela ne fonctionne pas, quel est le message d'erreur ?
    Salutations.
    Aucun message. Le programme ne se lance pas.
    Pour rappel, lors de mon dernier post je faisais allusion au lancement de mon script via un raccourcis comme sur la capture de Pacificator.

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Concernant l'installation des composants de Python tu as raison, il vaut mieux mettre la dll dans le dossier où se trouve les exécutables.

    Attention, si tu utilises pythonw.exe. Tu dois impérativement utiliser un gestionnaire de fenêtre dans ton programme (comme tkinter, wxpython, pygtk, etc.) sous peine de ne rien avoir afficher sur ton bel écran.

    Je t'ai proposé cette solution car dans ton premier poste tu parlais de la librairie wx.

    Sinon, pour le "debuging", démarre ton script depuis un shell Dos et regarde si python.exe t'affiche des erreurs.

    Salutations.

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 105
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Je viens de faire l'essai avec ce petit script (TranslateMacAdd.py) qui utilise la librairie Tkinter et cela fonctionne correctement chez moi.
    Voici ce que j'ai fait sur le Windows vierge (<- j'entend par là que python 2.6 n'est pas installé!):
    • Copie du dossier python26 dans la racine du disque c:
    • Copie du fichier python26.dll dans le dossier c:\python26
    • Copie de mon script dans le dossier c:\python26
    • Création d'un raccourcis avec comme cible: C:\Python26\pythonw.exe c:\python26\TranslateMacAdd.pyw
    • Exécution du script à l'aide du raccourcis


    Salutations.
    Fichiers attachés Fichiers attachés

  18. #18
    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
    Merci c'est bon ça fonctionne.

    Citation Envoyé par aepli Voir le message
    • Création d'un raccourcis avec comme cible: C:\Python26\pythonw.exe c:\python26\TranslateMacAdd.pyw
    Elle est là la solution... Dans mon raccourcis je n'avais pas remis le chemin absolu du script à lancer.
    A noter qu'il n'est pas obligatoire d'avoir ce dernier dans le même dossier que celui où se trouve python.exe ou pythonw.exe

    Merci à vous deux pour votre aide

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

Discussions similaires

  1. Réponses: 145
    Dernier message: 15/02/2009, 11h51
  2. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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