Seite 1 von 1

Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 12:22
von Kevon
Servus Leute,

ich erstelle gerade eine Software-Toolbox, die arithmetische operation an Messdaten ermöglicht.

DIe Toolbox ist mittlerweile sehr komplex geworden aber sieht grob so aus:


Code: Alles auswählen

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import * 
import random



from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt



class Fenster(QMainWindow):                               
    
    default_value = True;                                  
    
    Okt_A_Filter = 11 * [0]
    Terz_A_Filter = 36 * [0]

    
     
    Okt_A_Filter[0] = -77.8 #8    'nach IEC 61672 - nicht vorhanden in DIN
    Okt_A_Filter[1] = -56.7  #'16
    Okt_A_Filter[2] = -39.4  #'31.5
    Okt_A_Filter[3] = -26.2  #'63      vorher -26
    Okt_A_Filter[4] = -8.6   #'250     vorher -8.5

......

app = QApplication(sys.argv)
w = Fenster()

sys.exit(app.exec_())

Nun würde ich gerne eine ausführbare Datei mit cx_freeze daraus machen, was ohne matplotlib auch problemlos klappt mit dieser setup.py Datei:

Code: Alles auswählen

from cx_Freeze import setup, Executable

base = None


executables = [Executable("Akustikprogramm.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {

        'packages':packages,
    },

}

setup(
    name = "AkustikAnalysator",
    options = options,
    version = "1.0",
    description = 'Nur zum testen',
    executables = executables
)
Aber da ich gerne möchte, dass die Messwerte auch geplottet werden sollen, muss ich auch matplotlib importieren. Die exe. startet aber mit matplotlib nicht. AUf der IDE Spyder läuft aber alles problemlos.

Beim starten der .exe mit dem import von matplotlib kommt dann sowas:
Bild


Ich kenne mich mit dem Tool cx_freeze leider nicht aus und verstehe nicht warum einige Module nicht gefunden werden.
Wenn ihr mir helfen könnt wäre ich euch echt dankbar.

Re: Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 13:23
von __deets__
Finden sich Vorschlaege zu auf StackOverflow:

https://stackoverflow.com/questions/100 ... for-python

Re: Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 16:31
von Kevon
Habe die Suche und auf stackoverflow schon alles durchforstet es hilft mir nicht weiter.

Re: Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 17:03
von __deets__
Was heisst hilft nicht? Hast du das gemacht? Ich sehe es jedenfalls nicht in deiner setup.py reflektiert.

Re: Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 18:45
von Kevon
Ja, ich habe es versucht die bib auch mit zu importieren, aber es taucht ein anderer Fehler auf.

Code: Alles auswählen

import os
os.environ['TCL_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tk8.6'

import sys
from cx_Freeze import setup, Executable

base = None


build_exe_options = {"packages": ["numpy","matplotlib","tkinter"]}


setup(  name = "Programm",
        version = "1.0",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("Akustikprogramm.py", base=base)])
Bild

Re: Mit cx_freeze eine .exe erstellen inkl. matplotlib

Verfasst: Mittwoch 18. April 2018, 19:03
von Sirius3
@Kevon: und wo ist jetzt das Problem, mit der neuen Fehlermeldung wieder eine Lösung zu finden: https://stackoverflow.com/questions/423 ... d-module-c?