<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on Michael’s Domain</title><link>https://jeltsch.org/de/tags/python/</link><description>Recent content in Python on Michael’s Domain</description><generator>Hugo</generator><language>de</language><copyright>Copyright © 2002 - 2026 Michael Jeltsch.</copyright><lastBuildDate>Fri, 24 Jul 2026 00:18:18 +0300</lastBuildDate><atom:link href="https://jeltsch.org/de/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Python schaltet das Licht für unsere Pflanzen an</title><link>https://jeltsch.org/de/posts/2025/12-24_flint2/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/de/posts/2025/12-24_flint2/</guid><description>&lt;p&gt;2025 haben wir endlich unseren 12 Jahre alten Router (den Asus RT-AC66U, WiFi 5/IEEE 802.11ac) aktualisiert und ihn durch einen WiFI 6 
 &lt;a href="https://www.gl-inet.com/products/gl-mt6000/" target="_blank" rel="noopener noreferrer nofollow"&gt;Flint 2 (GL-MT6000)&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ersetzt. Während die Standard-Benutzeroberfläche des Flint 2 recht einfach ist, ist sein erweitertes Setup für echte Profis. Wenn man auf &amp;ldquo;Erweitertes Setup&amp;rdquo; (Advanced Setup) klickt, kann man auf die zugrunde liegende 
 &lt;a href="https://openwrt.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;OpenWRT&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
-Benutzeroberfläche zugreifen. OpenWRT ist eine Linux-Distribution für Router. Und wenig überraschend ist es sehr leistungsstark. Seit letztem Jahr verwende ich ein 
 &lt;a href="https://phlizon.eu/products/phlizon-pl1000-qb-full-spectrum-led-grow-light" target="_blank" rel="noopener noreferrer nofollow"&gt;LED-Array&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, um unseren Pflanzen zu helfen, den Winter zu überstehen. Um die Lichter automatisch zu steuern, verwenden wir einen 
 &lt;a href="https://kb.shelly.cloud/knowledge-base/shelly-plus-plug-s-v2" target="_blank" rel="noopener noreferrer nofollow"&gt;Shelly Smart Plug&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 über ein Python-Skript, das die Lichtverhältnisse und Strompreise berechnet (unter Verwendung 
 &lt;a href="https://www.sahkonhintatanaan.fi/sahkon-hinta-api" target="_blank" rel="noopener noreferrer nofollow"&gt;der sähkönhintatänään API&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, um die Preisdaten zu erhalten) und die Pflanzenlichter nur einschaltet, wenn sowohl die Lichtverhältnisse als auch die Strompreise niedrig sind. Heute habe ich dieses Python-Skript von meinem Desktop-Computer auf den Flint 2-Router verschoben. Für OpenWRT sind Tausende von installierbaren Paketen verfügbar (direkt über die Router-Benutzeroberfläche: Anwendungen &amp;gt; Plug-ins). Damit mein Python-Skript auf dem Router funktioniert, musste ich zunächst den openssh-server installieren, um Shell-Zugriff zu erhalten (übrigens ist die P/L-Kombi root/&amp;ldquo;dasselbe Passwort wie für die Web-UI&amp;rdquo;, der Router öffnet den Zugriff korrekterweise nur für das lokale Netzwerk). Ich habe auch python3 und python3-pip installiert und dann die beiden Nicht-Standard-Pakete 
 &lt;a href="https://pypi.org/project/ShellyPy/" target="_blank" rel="noopener noreferrer nofollow"&gt;ShellyPy&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (zur Adressierung der Smart Plugs) und 
 &lt;a href="https://pypi.org/project/astral/" target="_blank" rel="noopener noreferrer nofollow"&gt;astral&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 (zur Berechnung der Dunkel-/Hellphasen für jeden beliebigen Tag auf dem Breitengrad von Helsinki, das bei etwa 60° Nord liegt) über pip installiert. Ich musste nur noch einen Eintrag in den Crontab einfügen, um das Skript einmal pro Stunde auszuführen. Da amn als root angemeldet ist, muss man nur crontab -e ausführen und diese Zeile zur Crontab hinzufügen: &lt;code&gt;0 * * * * python3 /root/plantlight.py&lt;/code&gt; und den Cron-Daemon neu starten (was man über die OpenWRT-Benutzeroberfläche unter &amp;ldquo;System &amp;gt; Startup&amp;rdquo; tun kann).&lt;/p&gt;</description></item><item><title>Virtuelle Python-Environments</title><link>https://jeltsch.org/de/virtual_environment_for_python/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://jeltsch.org/de/virtual_environment_for_python/</guid><description>&lt;p&gt;Es gibt viele verschiedene Möglichkeiten, Python in einer virtuellen Umgebung auszuführen. Bisher habe ich conda (zusammen mit anaconda) verwendet, aber ich arbeite häufig an Rechnern, auf denen es nicht installiert ist. Daher habe ich in letzter Zeit begonnen, die integrierte virtuelle Umgebung zu nutzen. Wenn du in einem Verzeichnis an einem Python-Projekt arbeitest, sind dies die Schritte, um damit zu beginnen:&lt;/p&gt;</description></item><item><title>Mehrere Python-Versionen unter Ubuntu 20.04</title><link>https://jeltsch.org/de/multiple_python_versions_on_ubuntu_20_04/</link><pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate><guid>https://jeltsch.org/de/multiple_python_versions_on_ubuntu_20_04/</guid><description>&lt;p&gt;Hinzufügen einer neuen Python-Version zu Ubuntu 20.04 (für mein Betriebssystem ist es die dritte nach 2.7 und 3.8):
&lt;code&gt;sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Python für Kinder</title><link>https://jeltsch.org/de/python_f_r_kinder/</link><pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/de/python_f_r_kinder/</guid><description>&lt;p&gt;Mein Sohn lernt gerade Programmieren. Und es macht Spass. Zuerst haben wir zusammen ein bischen in html und php programmeirt, da er ein Online-Quiz auf seiner Website machen wollte. Danach haben wir angefangen, das (deutsche) Buch &amp;ldquo;Python für Kids&amp;rdquo; (
 &lt;a href="http://python4kids.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://python4kids.net&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
) durchzuarbeiten. Ich habe Python gewählt, weil es eine moderne, leicht zu lesende Sprache ist. Sie ist heute wahrscheinlich die erste Wahl für angehende Programmierer. Python ist Open Source, einfach auf allen Betriebssystemen zu installieren und leistungsfähige Programme können schon nach einer kurzen Lernphase geschrieben werden. &amp;ldquo;Python für Kinds&amp;rdquo; verwendet das 
 &lt;a href="http://pythonturtle.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Turtle-Modul&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, das eine grafikorientierte Einführung ins Programmieren ermöglicht. Die Grafik oben ist z.B. eines der Ergebnisse.Python ist auch eine sehr gute Wahl für Biologen und Bioinformatiker. Da Python eine Mehrzweck-Sprache ist, ist man nicht auf bestimmte Aufgaben beschränkt (wie z.B mit R). Es gibt mit 
 &lt;a href="http://biopython.org/wiki/Main_Page" target="_blank" rel="noopener noreferrer nofollow"&gt;Biopython&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
 ein sehr gutes Modul für den Umgang mit DNA und Proteinsequenzen (und sogar 3D-Strukturen).&lt;/p&gt;</description></item><item><title>Python für Kinder (und Bioinformatiker)</title><link>https://jeltsch.org/de/python_for_kids_and_bioinformaticians/</link><pubDate>Sat, 12 Mar 2016 00:00:00 +0000</pubDate><guid>https://jeltsch.org/de/python_for_kids_and_bioinformaticians/</guid><description>&lt;p&gt;Ich habe angefangen, meinem Sohn das Programmieren beizubringen, und es macht uns beiden Spaß. Zuerst haben wir uns ein wenig mit HTML/PHP beschäftigt, da er ein Online-Quiz auf seiner Website erstellen wollte, aber jetzt arbeiten wir uns durch das (deutsche) Buch „Python für Kids“ (
 &lt;a href="http://python4kids.net" target="_blank" rel="noopener noreferrer nofollow"&gt;http://python4kids.net&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
). Ich habe mich für Python entschieden, weil es eine moderne, leicht verständliche Sprache ist und heutzutage wahrscheinlich die beliebteste erste Wahl für Programmieranfänger ist. Es ist Open Source, lässt sich auf jedem System einfach installieren und man kann schon nach kurzer Einarbeitungszeit leistungsfähige Programme schreiben. „Python für Kids“ nutzt das 
 &lt;a href="http://pythonturtle.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Turtle&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
-Modul, das einen grafisch orientierten Einstieg in die Programmierung ermöglicht. Die Grafik auf der linken Seite ist eines der Ergebnisse. Eine weitere sehr nützliche Python-Lernressource für Kinder ist 
 &lt;a href="https://www.codeclubworld.org/" target="_blank" rel="noopener noreferrer nofollow"&gt;Code Club&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
. Python ist auch eine sehr gute Wahl für Biologen und Bioinformatiker, aber da es sich um eine vielseitige Sprache handelt, beschränkt man sich nicht auf bestimmte Aufgaben. Es gibt 
 &lt;a href="http://biopython.org/wiki/Main_Page" target="_blank" rel="noopener noreferrer nofollow"&gt;Biopython&amp;nbsp;






 
 
 
 &lt;svg class="svg-inline--fa fas fa-up-right-from-square fa-2xs" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 512 512" overflow="visible"&gt;&lt;use href="#fas-up-right-from-square"&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;
, ein sehr gutes Toolset für die Bearbeitung von DNA- und Proteinsequenzen und sogar 3D-Strukturen.&lt;/p&gt;</description></item></channel></rss>