Periodensystem

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Mein erstes halbwegs sinnvolles (hoffentlich :wink:) wxPython Programm. Standesgemäß für einen Chemiker ist es ein Periodensystem. Man kann damit Molmassen berechnen und sich Eigenschaften zu den einzelnen Elementen anzeigen lassen. Für alle die wxPython nicht mögen/haben ist auch eine Tkinter-Version dabei.

Screenshots: wx, Tkinter
Programm: pyPeriod

Bin über Feedback jeder Art dankbar :wink:

PS: Das Programm zur Molmassenberechnung ist eine verbesserte (:?:) Version von einem, das Dookie hier mal gepostet hat :wink:

Gruß, mawe
Zuletzt geändert von mawe am Mittwoch 21. September 2005, 13:52, insgesamt 1-mal geändert.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi mawe,

Du möchtest Kritik? Bitte Sehr!

Ein sehr schönes Programm. Wirklich! Ich glaube, ich werde es sogar nutzen, denn ich brauche solche Berechnungen manchmal (bisher hat aber stets der Taschenrechner wertvolle Dienste geleistet ;-) ).

Zu der Tkinter-Version kann ich nichts sagen, denn Tkinter ist bei mir nicht installiert, aber die wxPython-Variante sieht bei mir (OSX 10.3.4 mit dem neuesten wxPython etwas seltsam aus:

Bild

Warum ist mir leider nicht klar, aber vielleicht kommt ja jemand drauf. Ich denke mir aber, daß es wohl wahrscheinlich ein Problem mit der wxPython-Version ist.

Wenn man das wx-GUI startet wird zudem ein neues Terminal eröffnet, das mir folgende Nachricht beschehrt:
$ "/usr/bin/pythonw" "/Users/meesters/Documents/Downloads/pyPeriod_0.1/MolecularMass.pyc" && echo Exit status: $? && exit 1
Enter formula:

Wohl gemerkt: Ich habe nicht etwa MolecularMass.py gestartet.

Zur README-Datei noch folgende Anmerkungen:

Du schreibst "worte" statt "wrote" (ein kleiner Typo) und am Ende steht "gentle". Klingt etwas seltsam in meinen Ohren. Mein Vorschlag wäre: "This is the first program I wrote in wxPython, so please be a bit indulgent :-)" oder was ähnliches - ist aber natürlich Geschmackssache. Außerdem: Meinst Du den zweiten Satz so oder wolltest Du doch lieber "criticism" schreiben? (Bei mir, aber das ist vielleicht reichlich speziell, muß ich übrigens wx-GUIs mit pythonw anstelle von python starten).

Und noch was Allgemeines: Du hast in den GUI-Modulen jeweils einen Disclaimer. Mir ist die rechtliche Situation nicht ganz klar, da wollte ich mich sowieso einmal kundig machen, aber sollte so etwas nicht auch irgendwo an zentraler Stelle (z.B. dem README) dokumentiert sein? Bzw. wäre innerhalb der README-Datei ein Verweis auf die Lizenz, die Du ja mitgepackt hast, nicht angebracht? Das soll jetzt aber keine Kritik sein, sondern ist eher der Ausdruck von Neugierde.

So, dies waren meine spontanen Einfälle. Vielleicht schaue ich heute Abend mal in den Code rein ;-).

Gruß,
Christian
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Erstmal vielen Dank für die Kritik!
CM hat geschrieben: Zu der Tkinter-Version kann ich nichts sagen, denn Tkinter ist bei mir nicht installiert
Dabei hab ich gerade deshalb eine Tkinter-Version dazugegeben, weil ich dachte daß es bei Python dabei ist :?
CM hat geschrieben: die wxPython-Variante sieht bei mir (OSX 10.3.4 mit dem neuesten wxPython etwas seltsam aus:
Hmm....? Welche Version von wxPython ist das? Ich hab hier 2.4.2.4. Bei Version 2.5 hat sich ja einiges geändert, vielleicht liegts daran.
CM hat geschrieben: Wenn man das wx-GUI startet wird zudem ein neues Terminal eröffnet, das mir folgende Nachricht beschehrt:
$ "/usr/bin/pythonw" "/Users/meesters/Documents/Downloads/pyPeriod_0.1/MolecularMass.pyc" && echo Exit status: $? && exit 1
Enter formula:
Naja, wieder hmm... :wink: Kommt das auch wenn Du in MolecularMass.py den Teil mit if __name__ == '__main__': löscht?
CM hat geschrieben: Bei mir, aber das ist vielleicht reichlich speziell, muß ich übrigens wx-GUIs mit pythonw anstelle von python starten
Danke für den Hinweis! Ich habe leider keine Erfahrung mit MacOS, darum hab ich bei Freshmeat auch nur Windows und *nix als Operating System angegeben.

Zu README: Die Datei war ursprünglich nicht geplant, war dann eher eine Hau-Ruck Aktion (gute Ausrede, oder :wink:). Ich werde mir das alles noch mal ansehen (nein, wozu - ich schreib ganz einfach das was Du hier vorgeschlagen hast :wink:). Vielleicht sollte ich bei der Gelegenheit auch ein wenig Englisch lernen :wink:
Übrigens: Wie übersetzt man das am besten: Wenn Euch das Programm gefällt, schickt mir Geld! (Scherz, obwohl ... :D)
CM hat geschrieben: Bzw. wäre innerhalb der README-Datei ein Verweis auf die Lizenz, die Du ja mitgepackt hast, nicht angebracht?
Gute Idee!

Zum Schluss noch: Wenn Dir an dem Programm irgendwas fehlt, her mit den Vorschlägen :wink: (vielleicht sollte ich das auch in die README schreiben).

Gruß, mawe
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Erstmal vielen Dank für die Kritik!
Gern geschehen - so kann ich wenigstens einmal klug dahertippen ... ;-)
Dabei hab ich gerade deshalb eine Tkinter-Version dazugegeben, weil ich dachte daß es bei Python dabei ist
Echt? Kann schon sein, bei mir jedenfalls nicht. Meinereiner müßte erst AquaTcl installieren und dann Tkinter. Habe ich mal gemacht, aber seit den letzten zwei Updates nicht mehr ... zu umständlich, wenn man es erst gar nicht gebrauchen will.
Welche Version von wxPython ist das? Ich hab hier 2.4.2.4. Bei Version 2.5 hat sich ja einiges geändert, vielleicht liegts daran.
2.5.2.8 - Habe ich installiert, sowie der Robin Dunn die Ankündigung gemacht hat. Vielleicht willst Du das auch beim nächsten Mal probieren? Ich bin zwar auch neu bei wx (das hatten wir ja schon mal), aber wenn ich es richtig verstehen, hat sich von 2.4 auf 2.5 nicht nur die Syntax geändert, sondern es gab auch manch neues Feature.
Kommt das auch wenn Du in MolecularMass.py den Teil mit if __name__ == '__main__': löscht?
Nein, dann nimmermehr, aber das ist ja auch nicht anders zu erwarten. Die große Frage ist: Wieso ist dieses Phänomen überhaupt aufgetreten?
Ich habe leider keine Erfahrung mit MacOS, darum hab ich bei Freshmeat auch nur Windows und *nix als Operating System angegeben.
Na ja, ist halt wirklich etwas speziell. Vielleicht solltest Du einfach erwarten, daß wer auf so ein exotisches OS setzt, auch damit umgehen kann (was bei mir leider nicht immer der Fall ist ;-) ) ?

Zu der Geld-Geschichte: Vielleicht so:
"If you like this program and would like to keep me coding on it, make your contribution to xxx"? "Bug reports and feature request are very much welcome. Please send them to: xxx" magst Du vielleicht auch reinfutzeln ... (Aber meinem Englisch würde ich auch nicht allzusehr vertrauen. After all: Don't be too modest! ;-) )

Bei READMEs finde ich abschreiben völlig ok, denn es ist ja zu einem Teil sowieso standardmässig immer gleich (das erfordern die Juristen). Also: "You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." finde ich einen guten Verweis.

Gruß,
Christian

PS Tut mir leid, daß meine letzte Antwort gleich doppelt ausfiel. Glaube, das war ein Problem mit meinem Browser und meiner Ungeduld ...
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

ich hab das Doppelposting gelöscht :)

Dookie
[code]#!/usr/bin/env python
import this[/code]
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

@CM:
Vielen Dank für Deine Vorschläge!
Das mit der READE und dem Lizenzverweis werde ich mir mal überlegen. Hab mal bei einigen anderen Projekten nachgesehen. Viele schreiben ganz einfach Licence: GPL. Find ich gut, weil minimalistisch :wink:. Einige haben auch ein eigenes LICENCE File. Naja, mal sehen.

Zur Geld-Sache: Danke für die Übersetzung! Das war eigentlich nur als Scherz gemeint, aber ich glaube ich werde es spaßeshalber dazu schreiben :wink: Ich weiß nur nicht, ob es eine gute Idee ist die Kontonummer mitzuschicken?
CM hat geschrieben: 2.5.2.8 - Habe ich installiert, sowie der Robin Dunn die Ankündigung gemacht hat. Vielleicht willst Du das auch beim nächsten Mal probieren?
Ich habe eigentlich die 2.4-Version verwendet, weil die stable ist. Aber da ja offensichtlich Nachfrage nach einer 2.5-Version von pyPeriod besteht :D, hab ich mir 2.5.2.8 gerade installiert. Mach mich gleich mal ans Umschreiben. Wenn die neue Version fertig ist werde ich sie sofort posten.

Gruß, mawe
Gast

Hoi mawe,
Danke für die Übersetzung! Das war eigentlich nur als Scherz gemeint, aber ich glaube ich werde es spaßeshalber dazu schreiben Ich weiß nur nicht, ob es eine gute Idee ist die Kontonummer mitzuschicken?
Na, so ganz ernst war das von mir auch nicht gemeint ...
Aber da ja offensichtlich Nachfrage nach einer 2.5-Version von pyPeriod besteht , hab ich mir 2.5.2.8 gerade installiert.
Ein Kerl = Nachfrage? Na, nun mal nicht übertreiben ...

Ach lassen wir es dabei, sehr viel kann ich ja nicht mehr beitragen.

@Dookie: Merci!

Gruß,
Christian
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Naja, ich wollte mir die neue wx Version sowieso mal ansehen :wink:.
Zu Deinen Problemen mit der GUI: bei mir sieht sie auch mit 2.5.2.8 normal aus.

Nochmal danke für Dein Feedback :D

Gruß, mawe
Gast

Ich muss nur kurz sagen, dass das Designe unter Windows nicht gerade das beste ist, liegt aber vielleicht auch daran, dass es unter Linux entwickelt wurde, oder?
Würde ja ein Bild zeigen habe aber kein Webspace!
[/img]
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi Schick mir das Bild (Email findest du in meinem Profil), ich lad es bei mir hoch...

Bei mir schaut es dagegen hanz gut aus :D .
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi mawe,

wenn man jetzt Dein Programm runterladen möchte ist immer noch Version 0.1 angegeben, man erhält aber nach dem Entpacken 0.2.

Ehrlich gesagt: Außer der Syntax "neu" vs. "alt", kann ich keinen Grund für dieses Verhalten des GUI erkennen. Aber mir fehlt fürs erste die Muße, das umzuschreiben und zu probieren. Tut mir leid.

Christian
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!
CM hat geschrieben: wenn man jetzt Dein Programm runterladen möchte ist immer noch Version 0.1 angegeben, man erhält aber nach dem Entpacken 0.2.
Du machst mir Angst :shock:. Ich habe noch keine neue Version veröffentlicht. Gerade hab ich das Programm über Freshmeat heruntergeladen und entpackt -> Version 0.1. Oder meinst Du etwas anderes?

Gruß, mawe
Gast

Entschuldigung: Hatte noch einen "alten" Download im Verzeichnis und dann wurde das neue Download einfach um einen Zähler erhöht. Aber nicht so, wie üblich, daß ein Zähler drangehängt wird, sondern die Versionsnummer wurde erhöht.
Tut mir leid: Das habe ich schlicht übersehen. Nicht mein Tag heute.

Christian
david
User
Beiträge: 30
Registriert: Montag 12. Januar 2004, 14:40

Hi!

Schade, dass es erst ab python 2.3 läuft. Ich verwende nämlich noch 2.1.3.

Grüße, david
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi david!

Hast Du es ausprobiert (oder glaubst Du etwa einfach was ich in die README geschrieben habe :wink:)? Ich hab die Tkinter-Version gerade auf einem anderen Computer mit 2.2 erfolgreich getestet (wx ist hier nicht installiert). Wenn Du Fehlermeldungen erhälst, schick sie mir, ich versuch dann den Code anzupassen (kannst mir ja eine PN schicken).

Gruß, mawe
david
User
Beiträge: 30
Registriert: Montag 12. Januar 2004, 14:40

hi!

Ausprobiert, was denkst Du denn! :wink:

Hier mal der Fehler mit der wx-Version:

Traceback (most recent call last):
File "./pyPeriod_wx.py", line 27, in ?
from MolecularMass import Formula
File "./MolecularMass.py", line 5, in ?
class Formula(object):
NameError: name 'object' is not defined


und hier mit der TK-Version:

./pyPeriod_tk.py:48: SyntaxWarning: local name 'self' in '__init__' shadows use of 'self' as global in nested scope 'lambda'
def __init__(self):
./pyPeriod_tk.py:160: SyntaxWarning: local name 'tl' in '__init__' shadows use of 'tl' as global in nested scope 'lambda'
def __init__(self,txt):
Traceback (most recent call last):
File "./pyPeriod_tk.py", line 28, in ?
from MolecularMass import Formula
File "./MolecularMass.py", line 5, in ?
class Formula(object):
NameError: name 'object' is not defined

Hoffe, Du kannst damit was anfangen. Brauchst jetzt aber nicht das ganze Skript für mich umstricken, hab gerade gesehen, das morgen ein neues Debian release erscheinen soll, dann bekommt mein stable ein update. Dann sollte es auch bei mir gehen.

Grüße, david
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi nochmal!

Bei der Formula Klasse kannst Du (object) löschen. Es funktioniert auch ohne. Das sollte mal diese Fehlermeldung beseitigen.

Gruß, mawe
david
User
Beiträge: 30
Registriert: Montag 12. Januar 2004, 14:40

Danke! Jetzt geht es.

Nettes Programm!

Grüße, David
Antworten