Seite 1 von 2

pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 00:19
von stonie69
habe folgendes Problem und habe mir dazu auch einige Video's angeschaut und gelesen was es liegen kann aber ich komme nicht weiter

Möchte aus einem einfachen Python Programme einer einzelnen main.py Datei eine Windows Exe-Datei erzeugen

Ich benutze dazu das Programm "Anaconda" und "PyCham"

Vorgehensweise:

1) pip install pyinstaller
2) Pfad "C:\Users\Dirk\AppData\Roaming\Python\Python311\Scripts\pyinstaller.exe" mit Variablennamen "pyinstaller" in die Systemvariablen eingetragen
3) main.py in Verzeichnis "D:\Test\" erstellt mit folgendem einfachen Code

Code: Alles auswählen

import tkinter as tk
from tkinter import ttk

def main():
    window = tk.Tk()
    ttk.Label(window, text="Hallo Welt").pack()

    window.mainloop()

if __name__ == "__main__":
    main()
4) In PyCham im Bereich Terminal unter "(base) PS D:\Test" folgenden Befehl eingegeben

Code: Alles auswählen

C:\Users\Dirk\AppData\Roaming\Python\Python311\Scripts\pyinstaller.exe --onefile main.py
und erhalte daraufhin folgenden Fehler

Code: Alles auswählen

(base) PS D:\Test> C:\Users\Dirk\AppData\Roaming\Python\Python311\Scripts\pyinstaller.exe --onefile main.py
The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in C:\ProgramData\anaconda3\Lib\site-packages) using
    conda remove
then try again.
(base) PS D:\Test> 


Version geprüft und ob er überhaupt läuft

Code: Alles auswählen

(base) PS D:\Test> pip show pyinstaller 
Name: pyinstaller
Version: 6.8.0
Summary: PyInstaller bundles a Python application and all its dependencies into a single package.
Home-page: https://www.pyinstaller.org/
Author: Hartmut Goebel, Giovanni Bajo, David Vierra, David Cortesi, Martin Zibricky
Author-email:
License: GPLv2-or-later with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones)
Location: C:\Users\Dirk\AppData\Roaming\Python\Python311\site-packages
Requires: altgraph, packaging, pefile, pyinstaller-hooks-contrib, pywin32-ctypes, setuptools
Required-by:
(base) PS D:\Test> 

Was mache ich falsch bzw. was ist nicht korrekt installiert?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 04:51
von Sirius3
Ich würde vorschlagen, dass Du das machst was die Meldung sagt.
The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in C:\ProgramData\anaconda3\Lib\site-packages) using conda remove then try again.

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 08:41
von stonie69
Habe ich versucht aber das funktioniert nich entweder mache ich da was falsch muss es doch auf der Terminal Console machen? Es ist wie immer einfach aber der gewisse Kniff fehlt da mir die Erfahrung fehlt baut sich alles erst auf

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 09:43
von __blackjack__
@stonie69: Was heisst „funktioniert nicht“? Was genau machst Du? Was passiert darauf hin?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 09:59
von sparrow
Ich bin übrigens kein Freund davon mit Anaconda zu starten und empfehle den Einstieg mit den Tools, die in der üblichen Python Installation mitkommen. Kein Anaconda sondern Modulinstallationen mit pip. Und bevor man eine IDE einsetzt, das Verständnis was venv macht, sonst ist die nächste Frage, warum ein installiertes Modul nicht gefunden wird.

Und mit pyinstaller würde ich auch warten, bis die Grundlagen sitzen. Es ist nicht üblich eine exe-Datei zu erstellen. Die Vorteile halten sich auch in Grenzen, wenn man einmal verstanden hat, dass da nicht viel mehr gemacht wird als den Python-Interpreter und das eigene Script in ein selbstentpackendes Archiv zu schieben.
Der Nachteil ist, dass man sich auf Windows als Betriebssystem festlegt.

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 19:08
von stonie69
@blackjack:
Ja das stimmt hätte ich auch gleich mit senden können. Mache ich sobald ich wieder am Rechner sitze. Aktuell stehe ich Stau auf der A7 Richtung Kempten zu einem Kunden

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 19:16
von stonie69
@sparrow
Du hast sicherlich recht, dass die Grundlagen überhaupt noch nicht sitzen! Da muss noch einiges passieren bin erst seit 1-2 Wochendran an dieser Materie 😊 aber ich habe 25 Jahre an einem anderen Programm gewerkelt. Nicht‘s leider die Zeit mit VB und VBA verbracht. Mein Zuel ist erstmal die Dinge aus zu probieren was mir so im Kopf rum geht und schauen wie schlüssig und kompliziert es ist. Die Dinge die du mir da sagst kann ich nicht wissen da ich aktuell all meine Informationen aus Internet Recherche beziehe. Lerne von Tag zu Tag mehr dazu und gerade durch solche Hinweise. Aber auch hier wäre es schön, wenn du die Tools von denen du sprichst beim Namen nennst und vielleicht den einen oder anderen Satz dazu schreibst, wenn das möglich ist. So kann ich gezielter viran kommen. Aktuell habe ich öfters gesehen, das einige diesen PyCham benutzen ob das in Verbindung mit Anaconda ist weiß ich nicht. Also würde mich freuen wenn du die Tools beim Namen nennst und einen kleinen Satz dazu schreibst warum.

Wäre super und schonmal vielen Dank für deine Mühe ☺️

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 20:05
von sparrow
Ich meine das genau so, wie ich geschrieben habe.

Kein Anaconda sondern die ganz normale Pyhton-Version von python.org. 3.11 bietet sich an, die ist noch im Support und Projekte brauchen manchmal um die Versionen nachzuziehen.
Keine IDE. Nimm irgend einen Editor mit Syntax-Highlighting.
Lies das offizielle Tutorial und konsultiere die Dokumentation.
Zum installieren verwendest du pip (das ist bei Python dabei), und du schaust dir an, was venv tut. (ist auch bei Python dabei).

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 20:23
von stonie69
@__blackjack__
Habe versucht das so zu machen wie es hier geschrieben ist

Code: Alles auswählen

The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in C:\ProgramData\anaconda3\Lib\site-packages) using conda remove then try again.
einmal in PyCham

Code: Alles auswählen

(base) PS C:\ProgramData\anaconda3\Lib\site-packages> using conda remove
In Zeile:1 Zeichen:6
+ using conda remove
+      ~
Fehlende using-Direktive
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingUsingStatementDirective

(base) PS C:\ProgramData\anaconda3\Lib\site-packages>

und direkt in der Eingabeaufforderung unter Windows geht es überhaupt nicht

Liege ich mit PyCham für den Anfang wirklich so verkehrt und Anaconda auch die falsche Lösung ?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 20:34
von stonie69
@sparrow

Danke für deine direkte Antwort. Werde mir das mit venv und ich denke auf virtualenv anschauen hoffe das ich hier einige Erklärungen im Netz finde um die Zusamenhänge zu verstehen.

Zu deinen Antworten:

Keine IDE. Nimm irgend einen Editor mit Syntax-Highlighting.

Welchen kannst du mir empfehlen?

Es ist nicht üblich eine exe-Datei zu erstellen. Die Vorteile halten sich auch in Grenzen, wenn man einmal verstanden hat, dass da nicht viel mehr gemacht wird als den Python-Interpreter und das eigene Script in ein selbstentpackendes Archiv zu schieben.
Der Nachteil ist, dass man sich auf Windows als Betriebssystem festlegt.

Kannst du mir hierzu auch ein paar Schlagworte oder Link schicken das ich das besser verstehen kann warum und wie es funktioniert.

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 21:00
von __blackjack__
@stonie69: „using“ hat da nichts zu suchen. Das ist ja kein Programm, was die Fehlermeldung ja auch bemängelt. Das Programm heisst ``conda``. Und man muss dann natürlich auch noch angeben *was* entfernt werden soll.

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 21:30
von stonie69
@blackjack

Wie muss ich jetzt genau vorgehen?

conda remove pathlib

Und das im Verzeichnis wo sich conda befindet in der Shell?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 21:36
von stonie69
@sparrow

Da habe ich bei der https://www.mathematik.hu-berlin.de/ gefunden und auch so beim Googeln stoße ich immer auf Anaconda und auch pycham.


https://www.mathematik.hu-berlin.de/~ ... naconda.

Installation

Python 3

Python ist freie Software. Für die Betriebssysteme Windows, Linux und MacOS gibt es verschiedene Möglichkeiten Python zu installieren.
Für Einsteiger und unerfahrende Programmierer empfehlen wir die Installation mit Anaconda. Wer sich gegen Anaconda entscheidet, für den ist unter Windows die Installation über den Microsoft-Store die zweite Wahl, MacOS-User sollten dann den Weg über die Python-Webseite gehen: python.org unter Downloads.
Für Linux gibt es verschiedene Wege, die u.a. von der Wahl der Linux-Distribution abhängen.

und nochmal danke mit dem Tipp venv habe das mal überflogen und werde mir das die Tage genauer anschauen

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 21:58
von stonie69
@sparrow

Ich deinstallieren Anaconda und installiere es neu über

Python unter Windows
1. Besuche die offizielle Python-Website unter https://www.python.org/downloads/windows/.

2. Wähle die neueste Python-Version aus, indem Du auf “Download Windows x86-64 executable installer” klickst.

3. Führe den heruntergeladenen Installer aus und stelle sicher, dass Du die Option “Add Python to PATH” auswählst, bevor Du auf “Install Now” klickst.

4. Warte, bis die Installation abgeschlossen ist, und klicke dann auf “Close”.

Und die Aussage mit der Exe habe ich noch eine Frage

Ich dachte wenn ich den Code der ja in reinform lesbar ist könnte ich schützen das er nicht mehr in reinform vorliegt und somit geschützt ist.

Daher die Frage. Den Code den ich schreibe wie kann ich diesen Schützen?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Sonntag 23. Juni 2024, 22:46
von sparrow
Effektiv? Gar nicht.
Ist dein Programm auf einem Rechner, kannst du davon ausgehen, dass der Programmablauf nachvollziehbar ist.

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Montag 24. Juni 2024, 07:03
von Sirius3
@stonie69: warum möchtest Du Deinen Code "schützen"?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Montag 24. Juni 2024, 08:22
von __blackjack__
Oder anders formuliert *wovor* soll der geschützt werden?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Montag 24. Juni 2024, 16:04
von stonie69
@sparrow

ich verstehe nicht was du mit deiner Aussage meinst?

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Montag 24. Juni 2024, 16:06
von stonie69
@Sirius3 @__blackjack__

Ich kenne es nur so, dass der Programmcode nicht lesbar ist wegen dem KnowHow-Klau (Der zwar aktuell bei noch nicht vorhanden ist)

Re: pyinstaller eine Exe-Datei für Windows erstellen

Verfasst: Montag 24. Juni 2024, 18:16
von stonie69
@sparrow

Habe deine Ratschläge umgesetzt PyCham, Anaconda und Python deinstalliert und Python ganz mal installiert und alles funktioniert wie es funktionieren soll.

Was ich davon habe werde ich sehen. Ich denke zum Schluß lande ich dort was ihr angedeutet habt.

@__blackjack__ @sparrow
Danke für eure Hilfe


@sparrow Bitte Beantworte mir diesen Kommentar noch :-)
ich verstehe nicht was du mit deiner Aussage meinst?