Ich habe mich gefragt, welche Erfahrungen Sie mit der Verwendung von Python in einer Ubuntu-Umgebung haben und teilen können. Ich habe ein bisschen mit Ubuntu gearbeitet, aber gibt es etwas Besonderes, das man mit Python-Code oder -Bibliotheken machen kann, die unter Windows nicht verwendet werden können?
Ich habe Teile dessen gepostet, was ich im Laufe der Zeit bei meiner Python-Arbeit in Ubuntu gelernt und verwendet habe, bin mir aber nicht sicher, ob ich Anleitung im Sinne von Best Practices usw. brauche. Wenn Sie meinen Fortschritt bewerten und kommentieren könnten, Verbesserungsvorschläge machen oder Erfahrungen teilen könnten, wäre das großartig! Meine vorhandenen Code-Blurbs finden Sie unterhttp://www.pythonsnippet.com/snippets
Dank im Voraus!
Antwort1
Es ist der Computer, der entscheidet, was getan werden kann und was nicht. Auf derselben Hardware ist alles, was in einem Betriebssystem möglich ist, auch auf dem anderen möglich, sofern es keine künstlichen Hindernisse gibt. Tatsächlich ist es die Aufgabe von Betriebssystemen, genau das sicherzustellen. Solange Sie Python unter Windows installiert haben, kann es alles tun, was Python unter GNU+Linux tun kann. Für fast alle Anwendungen verwenden Sie Bibliotheken, und diese Bibliotheken können aus Effizienzgründen in anderen Sprachen wie C programmiert werden.
Es gibt zwei große Unterschiede zwischen Windows und Ubuntu: 1) Ubuntu bietet integrierte Unterstützung für die Entwicklung in vielen, vielen Sprachen. Aus diesem Grund ist alles so konzipiert, dass es mit jeder Sprache zugänglich ist. Ein gutes Beispiel ist Unity, bei dem alles über DBus erfolgt, was bedeutet, dass Sie jede beliebige Sprache verwenden können, um die Umgebung zu steuern, ohne spezielle Bibliotheken zu haben, was es jedoch noch einfacher macht. Unter Windows müssen Sie alle Anforderungen manuell installieren, bevor Sie die Anwendung verwenden können, aber dann funktioniert sie genauso gut.
2) Ubuntu ist freie Software. Das bedeutet, dass niemand einen Anreiz hat, zu sagen, dass eine Bibliothek nur unter Ubuntu verwendet werden sollte. Ganz im Gegenteil. Je mehr Entwickler eine Bibliothek verwenden, desto wertvoller wird diese Bibliothek. Bei Windows ist das ganz anders. Es ist nicht nur ein proprietäres Betriebssystem, das einem einzelnen Unternehmen gehört, sondern auch die Entwicklungstools sind proprietär und werden von diesem Unternehmen verkauft. Das bedeutet, dass sie Milliarden von Anreizen haben, sicherzustellen, dass die Entwickler Anwendungen mit Bibliotheken schreiben, die auf anderen Betriebssystemen nicht oder nicht einfach verwendet werden können. Microsoft hat eine gewisse Bereitschaft zur Veränderung gezeigt, aber es liegt noch ein weiter Weg vor ihnen, bevor sie sich auf ihren Lorbeeren ausruhen können.
Zusammenfassend lässt sich sagen, dass Ihre Anwendung auf jedem Desktop funktioniert, wenn Sie unter Ubuntu entwickeln. Sie müssen ein Installationsprogramm bereitstellen, wenn sie unter Windows verwendet werden soll, aber es gibt Programme, um diese Aufgaben zu automatisieren. Wenn Ihre Apps auf direkte Systeminteraktion angewiesen sind, müssen Sie Ihren Code möglicherweise leicht anpassen, aber das ist keine große Sache. Dies wird sich mit der Zeit verbessern. Wir haben beispielsweise bereits Indikatordienste für Windows gesehen, die Ihren für Ubuntu geschriebenen AppIndicator automatisch als Windows-Systray-Symbol erscheinen lassen, ohne dass der Entwickler etwas tun muss. Wir sollten dafür eine generische Lösung haben. Wenn Ihre App für die Interprozesskommunikation auf DBus angewiesen ist, wird das genauso gut funktionieren, da DBus bereits auf Windows portiert wurde. Wir werden einen DesktopCouch-Dienst usw. benötigen. Dies sind technisch keine schwierigen Dinge, sie müssen nur getan werden, und das werden sie auch.
Ich würde sogar sagen, dass Sie Ihre Software auch dann auf Ubuntu entwickeln sollten, wenn Ihr Hauptziel als Entwickler Windows ist. Es ist nicht nur eine sehr komfortable Umgebung mit allen benötigten Tools und einer starken Community, die Sie unterstützt, sondern gewährleistet auch, dass Sie als Entwickler jederzeit und mit minimalem Aufwand Ihr Publikum erweitern können. Ich empfehle insbesondere und dringend die Verwendung von Python mit GTK3.
Wow, ich bin ganz schön langatmig. :)
Antwort2
Ich habe auf der Windows-Seite nichts gesehen, was nicht auch auf der Linux-Seite möglich wäre, soweit es Python betrifft. Es kann ein Problem mit kompilierten Codekomponenten und der nativen C-API geben. Ansonsten ist es meiner Erfahrung nach ziemlich dasselbe.