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 :

Empaqueter un programme : cx freeze, py2exe, ou pyinstaller


Sujet :

Déploiement/Installation Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1
    Par défaut Empaqueter un programme : cx freeze, py2exe, ou pyinstaller
    Bonjour à tous,

    Pour mon boulot j'ai écrit un petit script python qui parse un fichier csv pour obtenir un fichier excel. Ce script fonctionne très bien en ligne de commande.
    Pour que mes collègues puissent l'utiliser je souhaite l'empaqueter dans un exe. J'ai lu plusieurs tutoriels que ce soit avec cx_freeze, py2exe ou pyinstaller et à chaque fois je me casse les dents.

    Auriez_vous des conseils à me donner pour empaqueter ce petit programme?

    Ci-dessous le code que je cherche à empaqueter. Je suis un débutant en Python, donc le code est j'en suis sûr très perfectible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    import os
    import csv,codecs,dateparser
    import xlwings as xw
    from tkinter import Tk,filedialog
     
    Tk().withdraw()
    fname = filedialog.askopenfilename(filetypes = [("fichier CSV", "*.csv"),("Tous les fichiers","*")])
    file = codecs.open(fname, "rb", "utf-16")
    file.readline()
     
    nombre_ligne = 0
    patient = ""
    nombre_sachet = 0
    service = 0
     
    # Création du tableau de résultat
    tableau = [["Date"]]
    filereader = csv.reader(file, delimiter = ",")
     
    # Parser le csv et renseigner le tableau
    for row in filereader:
        if "Reproduire" not in row[4]:
            if row[8] != patient and patient != "" or nombre_sachet != row[9] and patient != "":
                tableau[-1][tableau[0].index(service)] += int(nombre_sachet)
                nombre_ligne += int(nombre_sachet)
            if row[0] not in tableau[-1]:
                tableau.append([row[0]])
                for i in range(len(tableau[0])-1):
                    tableau[-1].append(0)
            if "Sachet mono dose non nominatif" not in row[4]:
                    patient = row[8]
                    nombre_sachet = row[9]
                    service = int(row[8][-4:])
            else  :
                    patient = ""
                    nombre_sachet = 0
                    service = 0
            if service not in tableau[0] and service != 0:
                i = 1
                if len(tableau[0])>1:
                    while service > tableau[0][i]:
                        i+=1
                        if i == len(tableau[0]):
                            break
                tableau[0].insert(i,service)
                for ligne in tableau[1:]:
                    ligne.insert(tableau[0].index(service),0)
     
    tableau[-1][tableau[0].index(service)] += int(nombre_sachet)
    nombre_ligne += int(nombre_sachet)
     
    # Modification des dates du format texte vers le format date et suppression des 0 dans la variable tableau
    for i in tableau[1:]:
        i[0] = dateparser.parse(i[0]).date()
        for j in range(1,len(tableau[0])-1):
            if i[j] == 0:
                i[j] = None
     
    # Création d'un fichier Excel et écriture du contenu de la variable tableau
    reponse = ""
    while reponse != "O":
        reponse = input("Veuillez ouvrir un nouveau document Excel, voulez-vous continuer? O/N ")
    wb = xw.Book()
    xw.Range("A1").expand().value = tableau
     
    print(fname)
    print("Nombre de sachets traités : ", nombre_ligne, ".")
     
    file.close()
    os.system("pause")

  2. #2
    Membre averti Avatar de bvrignaud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 17
    Par défaut
    Personnellement, je pense que c'est plus simple de demander à tes collègues d'installer python sur leur poste.

Discussions similaires

  1. Empaqueter un programme Java
    Par luc02 dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2010, 19h28
  2. Freeze d'un programme
    Par zoullou dans le forum Général Java
    Réponses: 3
    Dernier message: 17/01/2007, 16h51
  3. Pas d'erreur au debugage mais le programme freeze
    Par bob2356 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 25/09/2006, 19h16

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