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 :

Compilation de script cx_Freeze


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Par défaut Compilation de script cx_Freeze
    Bonjour,
    pour compiler un script main.py avec un fichier fonctionsSignale.py je m'initie à cx_Freeze.
    en utilisant comme sript compil.py :
    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
    import sys, os
    from cx_Freeze import setup, Executable
     
    base = None
     
    # Dependencies are automatically detected, but it might need fine tuning.
    packages = ["os","reportlab","datetime","numpy","FonctionsSignale","matplotlib.pyplot","csv"]
     
    executables= [Executable("main.py", base=base)]
     
    options = {
        'build_exe': {    
            'packages':packages,
        },    
    }
     
    setup(
     
        name = "a",
        options = options,
        version = "0",
        description = 'N/a',
        executables = executables
     
    )
    avec un python compil.py en console, j'obtiens un dossier build, exe.win32-3.8 avec les libs et un .exe. Tout cela sans erreur de compilation.

    L'execution du .exe cependant ce contant d'ouvrir une console qui se referme presque aussi tôt, sans résultat attendu. J'arrive péniblement à lire un import quelque chose..., il me semble avant la fermeture.

    Afin d'avoir une idée du souci ou de ce qui se passe, que ce puis-je faire, j'ai l'impression que le souci vient des librairies mais je ne sais pas quoi faire ne voyant pas ce qui coince.

    Merci

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Aelurus_ Voir le message
    Afin d'avoir une idée du souci ou de ce qui se passe, que ce puis-je faire, j'ai l'impression que le souci vient des librairies mais je ne sais pas quoi faire ne voyant pas ce qui coince.
    Si vraiment le souci vient des import, alors tu encapsules tes import dans un bloc try...except et dans l'exception tu affiches un message d'erreur et une attente. Ainsi tu auras le temps de voir ce qui cloche.

    Accessoirement le script "main.py" aurait été un plus !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Par défaut
    Pardon,
    le voici, pas très propre pour l'instant, mais il fonctionne sans aucun soucis.
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    try:
    	import numpy as np
    	import FonctionsSignale as fs
    	from random import uniform
    	import matplotlib.pyplot as plt
    	import csv
    	from reportlab.lib.styles import getSampleStyleSheet
    	from reportlab.platypus import Paragraph, Spacer, SimpleDocTemplate, Table, TableStyle
    	from reportlab.lib.pagesizes import A4
    	from datetime import date
    	from reportlab.lib.units import cm
    	from reportlab.graphics.charts.lineplots import LinePlot
    	from reportlab.graphics.shapes import Drawing, String
    	from reportlab.graphics.widgets.markers import makeMarker
    	from reportlab.lib import colors
    except Exception as e:
        print(e)
        input('***')
     
     
     
    ####
    styles = getSampleStyleSheet()
    styleT = styles['Title']
    styleH1 = styles['Heading1']
    styleH2 = styles['Heading2']
    styleH3 = styles['Heading3']
    styleH4 = styles['Heading4']
    styleN = styles['Normal']
    #####
    """
    print('veuillez saisir le nom du fichier de données (txt ou cvs) :')
    fichier = input()
    print('veuillez saisir le du capteur (H...) :')
    numcapteur = input('donnees.txt')
    contenue = input('h25')"""
     
    numcapteur  = 25
    fichier     = "donnees.txt"
    contenue    = []
    text="Post traitement du raccordement de l'Hélice "+str(numcapteur)
    contenue.append(Paragraph(text, styleH1))
     
    values_sep_paliers,values, values_sep,paliers_find = fs.traitement_signal(fichier, ";", 2,18)
     
    ################################
    #Quelques calcules sur les paliers
    #################################
    coeff_gen = fs.gen_coeff(paliers_find)
    moyenne = [""]*paliers_find
    ecartype = [""]*paliers_find
    entete = [("Paliers trouvés","Moyenne [V]","Ecart-type [mV]","Nb de valeurs/palier")]
    donneestraitees = [["0"]*len(entete)]*paliers_find
     
    for i in range(paliers_find):
        moyenne[i]= np.mean(values_sep_paliers[i])
        ecartype[i] = np.nanstd(values_sep_paliers[i])*1000
        donneestraitees[i] = (str(coeff_gen[i]),str(round(moyenne[i],4)),str(round(ecartype[i],4)),
                       str(round(len(values_sep_paliers[i]),4)))
     
     
    ##Le tableau du traitement
    contenue.append(Paragraph("Post traitement de la mesure", styleH3))
    today = date.today()
    d1 = today.strftime("%d %B %Y")
    contenue.append(Paragraph("Traitement réalisé le "+d1+" par : Moia, sur le fichier de données :"+fichier, styleN))
    contenue.append(Spacer(1, .3*cm))
    datat = entete+donneestraitees
    contenue.append(fs.myTable(datat))
    #contenue.append(Spacer(1, .5*cm))
    ##
    contenue.append(Paragraph("Mesure", styleH2))
    contenue.append(Paragraph("Identification des paliers", styleH4))
    #tracé de la mesure
    v=[]
    for i in range (len(values)):
        v.append([i,values[i]])
    w=190
    h = 115
    mesure = [v]
    mesure_brute =fs.trace_graph('Mesure brute',mesure,w,h)
     
    v=[]
    for i in range (len(values_sep)):
        v.append([i,values_sep[i]])
    mesure = [v]
    mesure_sep =fs.trace_graph('Mesure avec paliers',mesure,w,h)
     
     
    chart_style = TableStyle([('ALIGN', (0, 0), (-1, -1), 'CENTER'),
                              ('VALIGN', (0, 0), (-1, -1), 'CENTER')])
     
    contenue.append(Table([[mesure_brute,'' , mesure_sep]]))
    contenue.append(Paragraph("Paliers isolés", styleH4))
    #tracé des paliers
    data=[""]*len(values_sep_paliers)
    for n in range(len(values_sep_paliers)):
        data[n]=[]
        for i in range (len(values_sep_paliers[n])):
            data[n].append([i,values_sep_paliers[n][i]])     
     
    w=460
    h = 60
     
    data0 = [data[0]]+[data[8]]
    graph=fs.trace_graph('Paliers 0',data0,w,h)
    contenue.append(graph)
     
    data1 = [data[1]]+[data[7]]
    graph=fs.trace_graph('Paliers 1',data1,w,h)
    contenue.append(graph)
     
    data2 = [data[2]]+[data[6]]
    graph=fs.trace_graph('Paliers 2',data2,w,h)
    contenue.append(graph)
     
     
    data3 = [data[3]]+[data[5]]
    graph=fs.trace_graph('Paliers 3',data3,w,h)
    contenue.append(graph)
     
    data4 = [data[4]]
    graph=fs.trace_graph('Paliers 4',data4,w,h)
    contenue.append(graph)
    ############################
     
     
    d1 = today.strftime("%Y-%m-%d")
    doc = SimpleDocTemplate('PostTraitement_H'+str(numcapteur)+'_'+d1+'.pdf',pagesize = A4,
                              title = 'Premier test',
                              author = 'Moi' )
    doc.build(contenue)
    Je suis pas sur que le try devait être mis là, mais y à aucun soucis.
    Edit : Pardon ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and will be removed in 3.3.
      import matplotlib.pyplot as plt
    No module named 'mpl_toolkits'
    ***
    Ba oui ça cause mieux là

    ReEdit : Mmmm en fait c'est peut être plus trodu que cela en à l'air ....

  4. #4
    Membre confirmé
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Par défaut
    L'un de vous a-t-il une idée sur le comment corriger cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    No module named 'mpl_toolkits'
     
    ***
    j'ai mis Betement l'import pml_toolkits dans main.py, dans le fichier compil.py avec les autres librairies et cela ne change rien. Python ne retourne aucune erreur avec cette impor....



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    D:\Docs\Python\MookPythonEDX\TraitementSignal\V.0>python
     
    Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
     
    Type "help", "copyright", "credits" or "license" for more information.
     
    >>> import mpl_toolkits
     
    >>>
    Ensuite peut-être que je cherche mal mais je ne trouve rien d'exploitable sur cette erreur où il parle de basemap, sur l'import de mpl_toolkits.



    Qui a une piste pour m'orienter sur une solution.

    Merci

  5. #5
    Membre confirmé
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Par défaut
    Bon, il s'avère que je n'utilisais pas matplotlib, le fait de l'enlever des imports résout le souci rencontré. L'exécution du main.exe remplit très bien sa mission.

    Bien que cela résolve le souci, je ne comprends pas le souci que j'ai rencontré, ou est-ce vraiment pénalisant d'importer une librairie pour la compilation sans qu'elle soit utilisée ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Citation Envoyé par Aelurus_ Voir le message
    ou est-ce vraiment pénalisant d'importer une librairie pour la compilation sans qu'elle soit utilisée ?
    Votre expérience sur le sujet devrait vous permettre de répondre à cette question: une librairie que vous n'utilisez pas, c'est des bugs que vous ne méritez pas

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

  7. #7
    Membre confirmé
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Par défaut
    Merci ^^,

    la confirmation est entendue (MDR). Bon en tout cas petit à petit on progresse ^^.

    Merci

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

Discussions similaires

  1. Compilation de scripts
    Par musely dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/11/2007, 15h06
  2. Compilation de Script
    Par Ash2oπΩ dans le forum Langage
    Réponses: 7
    Dernier message: 18/04/2007, 14h37
  3. [Compiler] Problème pour compiler un script
    Par usama2 dans le forum MATLAB
    Réponses: 3
    Dernier message: 18/02/2007, 14h52
  4. Compiler un script cpp complexe déjà existant
    Par ThFreno dans le forum C++
    Réponses: 5
    Dernier message: 19/01/2007, 16h39
  5. compiler un script perl
    Par black_code dans le forum Langage
    Réponses: 9
    Dernier message: 03/09/2005, 16h30

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