{"id":186379,"date":"2023-10-01T13:46:41","date_gmt":"2023-10-01T12:46:41","guid":{"rendered":"https:\/\/liora.io\/de\/?p=186379"},"modified":"2026-02-23T10:23:58","modified_gmt":"2026-02-23T09:23:58","slug":"cx-freeze-python-programm-kompilieren-und-verteilen","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/cx-freeze-python-programm-kompilieren-und-verteilen","title":{"rendered":"Cx Freeze: Python-Programm kompilieren und verteilen"},"content":{"rendered":"\n<p><strong>Cx Freeze ist ein Python-Programm, mit dem du ein Skript in eine eigenst\u00e4ndige ausf\u00fchrbare Datei f\u00fcr Linux, MacOS oder Windows umwandeln kannst. Ein Programm ausf\u00fchrbar zu machen, d. h. den Code zu kompilieren, ist wichtig, um seine Datei leicht verbreiten zu k\u00f6nnen.<\/strong><\/p>\n\n\n\n<p><strong>Cx Freeze<\/strong> ist das Programm, das das <a href=\"https:\/\/liora.io\/de\/python-schulung\">Python-Skript<\/a> mit all seinen Abh\u00e4ngigkeiten in eine ausf\u00fchrbare Datei kompiliert. Aber wie funktioniert Cx Freeze? Warum sollte man es benutzen? Wie wird es installiert und verwendet? Antworten auf deine Fragen findest du in diesem Artikel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-funktioniert-cx-freeze\">Wie funktioniert Cx Freeze?<\/h2>\n\n\n\n<p>Ein <a href=\"https:\/\/liora.io\/de\/ipython-die-python-shell-im-herzen-von-jupyter-notebook-entdecken\">Python-Skript<\/a> ist von mehreren Modulen abh\u00e4ngig. Es ben\u00f6tigt die Bibliotheken und Dateien des Python-Systems. <strong>Cx Freeze<\/strong> erm\u00f6glicht es, die Abh\u00e4ngigkeiten des Skripts zu analysieren, um eine eigenst\u00e4ndige ausf\u00fchrbare Datei zu erstellen. Der Name Cx Freeze wird verwendet, weil dieses Programm das Python-Skript mit seinen Abh\u00e4ngigkeiten in eine ausf\u00fchrbare Datei &#8222;einfriert&#8220; (engl. freeze).<\/p>\n\n\n\n<p>Das Programm analysiert die Abh\u00e4ngigkeiten, um die importierten Python-Module, Ressourcen und externen Bibliotheken zu identifizieren, die f\u00fcr die Ausf\u00fchrung der Datei notwendig sind. <a href=\"https:\/\/liora.io\/de\/virtualenv-python-version-alles-ueber-virtuelle-umgebungen\">Dann erstellt es eine virtuelle Umgebung,<\/a> in die es die ben\u00f6tigten Dateien und Module kopiert. Schlie\u00dflich erstellt Cx Freeze die eigenst\u00e4ndige ausf\u00fchrbare Datei: Sie ben\u00f6tigt keine externe Python-Installation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-warum-sollte-man-es-verwenden\">Warum sollte man es verwenden?<\/h2>\n\n\n\n<p>Das <strong>Python-Programm cx_Freeze<\/strong> bietet mehrere Vorteile (es gibt es nicht umsonst!). Musst du ein Python-Skript mit anderen teilen? Dein Kollege oder Partner findet es vielleicht m\u00fchsam, Python und alle Abh\u00e4ngigkeiten zu installieren. Das Programm cx_Freeze \u00fcberspringt diese Installation mit einer einzigen ausf\u00fchrbaren und leicht verteilbaren Datei.<\/p>\n\n\n\n<p>Ein weiterer Pluspunkt ist die <strong>Vertraulichkeit des Python-Skripts<\/strong>. Du musst den Quellcode nicht mehr offenlegen: Durch die Erstellung einer ausf\u00fchrbaren Datei kannst du einfach die Datei und nicht deinen Code weitergeben. Schlie\u00dflich ist <a href=\"https:\/\/liora.io\/de\/pypi-im-fokus-die-zentrale-anlaufstelle-fuer-python-pakete-und-module\">cx_Freeze f\u00fcr Entwickler einfach zu benutzen<\/a>. Obwohl du die ausf\u00fchrbare Datei testen musst, um sicherzustellen, dass sie funktioniert, ist ihre Erstellung schnell und intuitiv.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/10\/cx_freeze.jpg\" alt=\"\" style=\"width:1000px;height:auto\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\/data-ki\">Entdecke unsere Kurse<\/a><\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"wie-installiere-und-verwende-ich-cx-freeze\">Wie installiere und verwende ich Cx Freeze?<\/h2>\n\n\n\n<p>Du kannst die neueste Version von cx_Freeze installieren, indem du den Befehl pip verwendest:<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>pip install --upgrade cx_Freeze<\/code><\/pre>\n\n\n\n<p>Einige Betriebssysteme verlangen m\u00f6glicherweise die Verwendung von <strong>Python3 <\/strong>und <strong>pip3 <\/strong>anstelle anderer Versionen.<\/p>\n\n\n\n<p>Du kannst auch den Befehl pipenv verwenden, um cx_Freeze zu installieren und zu aktualisieren:<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>pipenv install cx_Freeze<br>pipenv update cx_Freeze<\/code><\/pre>\n\n\n\n<p>Wenn du Anaconda benutzt, solltest du cx_Freeze \u00fcber den Befehl conda installieren:<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>conda install -c conda-forge cx_freeze<\/code><\/pre>\n\n\n\n<p>Nachdem wir cx_Freeze installiert haben, m\u00fcssen wir eine Python-Datei erstellen, um das Programm zu kompilieren: Wir nennen sie setup.py. Der Code sieht wie folgt aus (\u00e4ndere die Parameter, wenn du die ausf\u00fchrbare Datei anpassen m\u00f6chtest):<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>import sys\nfrom cx_Freeze import setup, Executable\n\n# Abh\u00e4ngigkeiten werden automatisch erkannt, aber es kann n\u00f6tig sein, sie anzupassen.\nbuild_exe_options = {\n\u00a0\u00a0\u00a0\"excludes\": &#091;\"tkinter\", \"unittest\"],\n\u00a0\u00a0\u00a0\"zip_include_packages\": &#091;\"encodings\", \"PySide6\"],\n}\n\n# base=\"Win32GUI\" sollte nur mit der Windows GUI App verwendet werden\nbase = \"Win32GUI\" if sys.platform == \"win32\" else None\n\nsetup(\n\u00a0\u00a0\u00a0name=\"guifoo\",\n\u00a0\u00a0\u00a0version=\"0.1\",\n\u00a0\u00a0\u00a0description=\"My GUI application!\",\n\u00a0\u00a0\u00a0options={\"build_exe\": build_exe_options},\n\u00a0\u00a0\u00a0executables=&#091;Executable(\"guifoo.py\", base=base)],\n)<\/code><\/pre>\n\n\n\n<p>Ersetze &#8222;<strong>guifoo<\/strong>&#8220; und &#8222;<strong>guifoo.py<\/strong>&#8220; durch die Datei, die du umwandeln m\u00f6chtest.<\/p>\n\n\n\n<p>F\u00fchre dann den Befehl aus:<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>\u00a0python setup.py build<\/code><\/pre>\n\n\n\n<p>Dieser Befehl wird einen Unterordner namens &#8222;<strong>build<\/strong>&#8220; mit einem weiteren Unterordner erstellen, der mit den Buchstaben &#8222;<strong>exe<\/strong>.&#8220; beginnt und mit der Kennung der Plattform oder deiner Version von Python endet. Dadurch k\u00f6nnen mehrere Plattformen problemlos erstellt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/10\/cx_freeze1.jpg\" alt=\"\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"cx_freeze-das-python-programm-in-kuerze\">Cx_Freeze: Das Python-Programm in K&uuml;rze<\/h3>\n\n\n\n<p><strong>Das Programm cx_Freeze<\/strong> ist eine gro\u00dfe Hilfe f\u00fcr Entwickler: Es kompiliert den Code und macht ihn selbstst\u00e4ndig ausf\u00fchrbar. Das Programm identifiziert die Module, die zur Ausf\u00fchrung der Datei ben\u00f6tigt werden, und kopiert sie in eine <a href=\"https:\/\/liora.io\/de\/virtualenv-python-version-alles-ueber-virtuelle-umgebungen\">virtuelle Umgebung<\/a>. Cx_Freeze bietet eine vereinfachte Verteilung, un\u00fcbertroffene Portabilit\u00e4t und die Vertraulichkeit des Quellcodes. Um Cx_Freeze zu installieren und zu verwenden, folge einfach der Anleitung oben in diesem Artikel.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\/data-ki\">Beginne deine Weiterbildung<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Wie funktioniert Cx Freeze?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Cx Freeze analysiert die Abh\u00e4ngigkeiten eines Python-Skripts (importierte Module, Ressourcen, externe Bibliotheken), erstellt eine virtuelle Umgebung mit den ben\u00f6tigten Dateien und generiert eine eigenst\u00e4ndige ausf\u00fchrbare Datei f\u00fcr Linux, MacOS oder Windows, die keine externe Python-Installation ben\u00f6tigt \u2013 das Skript wird mit seinen Abh\u00e4ngigkeiten 'eingefroren'.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Warum sollte man es verwenden?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Cx Freeze bietet drei Hauptvorteile: Vereinfachte Verteilung (Empf\u00e4nger m\u00fcssen kein Python und keine Abh\u00e4ngigkeiten installieren), Quellcode-Vertraulichkeit (Code muss nicht offengelegt werden) und einfache Handhabung f\u00fcr Entwickler (schnelle und intuitive Erstellung ausf\u00fchrbarer Dateien, erfordert aber Tests).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Wie installiere und verwende ich Cx Freeze?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Installation via pip (pip install cx_Freeze), pipenv oder conda (conda-forge). Verwendung: 1. Setup-Datei 'setup.py' erstellen mit Konfiguration (Abh\u00e4ngigkeiten, Ausschl\u00fcsse, Basis-Einstellungen). 2. Ausf\u00fchrbare Datei mit 'python setup.py build' generieren. 3. Ergebnis findet sich im 'build'-Unterordner (mit Plattform-Kennung).\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Cx Freeze ist ein Python-Programm, mit dem du ein Skript in eine eigenst\u00e4ndige ausf\u00fchrbare Datei f\u00fcr Linux, MacOS oder Windows umwandeln kannst. Ein Programm ausf\u00fchrbar zu machen, d. h. den Code zu kompilieren, ist wichtig, um seine Datei leicht verbreiten zu k\u00f6nnen. Cx Freeze ist das Programm, das das Python-Skript mit all seinen Abh\u00e4ngigkeiten in [&hellip;]<\/p>\n","protected":false},"author":82,"featured_media":186381,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-186379","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/186379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=186379"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/186379\/revisions"}],"predecessor-version":[{"id":219352,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/186379\/revisions\/219352"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/186381"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=186379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=186379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}