python auf mac

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Mittwoch 20. August 2008, 15:19

hallo rebecca
danke für dein script. das mit der excel-datei als cvs exportieren habe ich mal gemacht. dein link auf die seite, wo das beschrieben ist, sieht ja extrem kompliziert aus. ich verstehe nur bahnhof. gibts für anfänger nicht einen einfacheren weg? ich bin kein programmiergenie sondern anfängerin.

in der zwischenzeit habe ich bei galileo openbook ein buch zu python2.5 gefunden.

ich scheitere wieder am mac. auch hier ist sehr dürftig beschrieben, wie ich das ding im mac bedienen muss.

http://www.galileocomputing.de/openbook/python/python_kapitel_03_002.htm

was mich verwirrt ist, dass ich dein script in blender mit texteditor reinladen kann und auch mit alt p zum laufen bringe. wenn ich aber im texteditor von blender schreibe print"hallo bla bla bla" und das dann mit alt p zu laufen bringen will, passiert gar nichts. auch wenn ich das terminal offen habe und die idle-shell von python und die interaktive konsole von blender. nirgends passiert was. woran liegt das?

und cofi - danke für den hinweis mit vi - jetzt kann ich in die .bashrc reingucken. aber editieren kann ich sie nicht.
ich habe mir im terminal den pfad mit print sys.path ausgeben lassen. das sah so aus:
['', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages']

dann habe ich folgendes in die bashrc geschrieben
export PYTHONPATH=', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages

ich habe die eckigen klammern und das zeichen ' am anfang und am schluss weggelassen, weil es so im tutorial stand. ist das richtig oder falsch? wahrscheinlich falsch, weil ja blender immer noch nicht läuft...
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Mittwoch 20. August 2008, 16:03

goldfisch hat geschrieben:hallo rebecca
danke für dein script. das mit der excel-datei als cvs exportieren habe ich mal gemacht. dein link auf die seite, wo das beschrieben ist, sieht ja extrem kompliziert aus. ich verstehe nur bahnhof. gibts für anfänger nicht einen einfacheren weg? ich bin kein programmiergenie sondern anfängerin.

Das csv-Modul ist wirklich der einfachste Weg, aber wenn du noch nicht programmieren kannst, solltest du natuerlich vorher ersteinmal die Grundlagen lernen. Hier ein Beispiel, wie du deine Werte aus der csv-Datei augeben lassen kannst:

Code: Alles auswählen

import csv

reader = csv.reader(open("test.csv", "rb"))
for row in reader:
    for item in row:
        print item


was mich verwirrt ist, dass ich dein script in blender mit texteditor reinladen kann und auch mit alt p zum laufen bringe. wenn ich aber im texteditor von blender schreibe print"hallo bla bla bla" und das dann mit alt p zu laufen bringen will, passiert gar nichts. auch wenn ich das terminal offen habe und die idle-shell von python und die interaktive konsole von blender. nirgends passiert was. woran liegt das?

Mit deiner Blender- und Python-Installation ist alles in Ordnung. Das Problem liegt am "print". Die print-Anweisung sorgt dafuer, dass ein Programm etwas in die Konsole ausgibt, aus der es ausgefuehrt wird (ich rede jetzt hier die ganze Zeit von der Bash-Konsole, nicht von der Python-Konsole oder IDLE-Konsole). Wenn du also in der Konsole zb. "ls" eingibst, dann gibt ls mit so einem print-Befehl direkt das Dateilisting aus. Wenn du Blender aus der Konsole ausfuehren wuerdest, in dem du "blender" eintippst, wuerde Blender zwar ganz normal sein eigenes Fenster oeffnen, aber wuerdest du deine print-Ausgabe in eben dieser Konsole sehen.

Wenn du Blender aber ueber das Klicken in einem Mac-Menue oder auf ein Icon oeffnest, gibt es keine Konsole, mit der "Blender verbunden ist". Da Blender (bzw. der Mac) dann sozusagen nicht weiss, wohin er dir print-Ausgabe drucken soll, geht sie ins Nirvana, darum siehst du also nichts. Dein Script ist dann zwar durchgelaufen, aber du hast es nicht mitbekommen, weil dein Script keine weiteren Dinge tut, die du sehen koenntest. Wenn du in mein Script an beliebiger Stelle ein print einbaust, sollte das Script zwar nachwievor das Mesh-Objekt erzeugen, aber von der print-Anweisung siehst du aus dem gleichen Grund nichts.

Das einzige, was du jetzt also noch rausfinden musst, ist, wie du in der Bash-Konsole Blender starten kannst. Das nichts mit dem PYTHONPATH zu tun, aber mehr kann ich dazu nicht sagen, da ich mich mit dem MAC ueberhaupt nicht auskenne.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Mittwoch 20. August 2008, 16:38

goldfisch hat geschrieben:und cofi - danke für den hinweis mit vi - jetzt kann ich in die .bashrc reingucken. aber editieren kann ich sie nicht.
ich habe mir im terminal den pfad mit print sys.path ausgeben lassen. das sah so aus:
['', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages']

dann habe ich folgendes in die bashrc geschrieben
export PYTHONPATH=', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages

ich habe die eckigen klammern und das zeichen ' am anfang und am schluss weggelassen, weil es so im tutorial stand. ist das richtig oder falsch? wahrscheinlich falsch, weil ja blender immer noch nicht läuft...


Dass du mit `vi' nicht editieren kannst scheitert wohl eher am Editor als an den Rechten ;) `i' um anfangen zu schreiben und `Esc' und `:x' um die Datei zu speichern und vi zu schliessen.

Zum Pfad: Ich denke das Problem liegt daran, dass die syntax nicht stimmt. Versuch mal

Code: Alles auswählen

export PYTHONPATH='/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages'
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Mittwoch 20. August 2008, 16:39

danke für deine hilfe!
das mit den grundlagen programmierung ist so eine sache. ich hab schon anfänge mit logo, kara, java, actions script hinter mir und möchte eigentlich dazulernen. ich weiss jedoch nicht, welches programm ich für die grundlagen der programmierung lernen soll, resp. was für mich als visueller mensch am meisten sinn macht. ich habe mühe mit der denkweise von programmierern. kleines beispiel: du hast einen strich, ein quadrat, einen strich, ein quadrat, einen strich, ein quadrat und einen strich. für mich besteht die gemeinsamkeit aus: 4 striche, 3 quadrate. für einen programmierer besteht die gemeinsamkeit aus: 3 x (1 strich + 1 quadrat) + 1 strich - verstehst du was ich meine?
mit actions script bin ich am weitesten gekommen. leider kommen alle weiterführenden kurse in der schweiz wegen mangelndem interesse nicht zustande. der grund ist wohl der, dass visuelle leute in der regel schon vorher aufgeben und programmierer bereits zu viel wissen. nun dachte ich, die kombination blender und python käme mir entgegen. oder weisst du was besseres für die grundlagen?

das problem bezüglich blender aus dem terminal starten werde ich mal ins blender- und macuserforum posten. vielleicht weiss da jemand weiter.

und das csv script probiere ich gleich aus
:wink:
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Mittwoch 20. August 2008, 16:49

export PYTHONPATH='/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages'

ich habs genau so reingeschrieben. dann habe ich die .bashrc mit vi aufgerufen um reinzugucken - da hat er das ' vor /Library und das ' am schluss einfach weggelassen...

ich habe übrigens das ganze im terminal von mac geschrieben, weil ich es nirgends anders kann - du erinnerts dich - das problem mit dem . :?

weisst du, wie man blender aus dem mac-terminal starten kann?
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Mittwoch 20. August 2008, 18:29

goldfisch hat geschrieben:
export PYTHONPATH='/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages'

ich habs genau so reingeschrieben. dann habe ich die .bashrc mit vi aufgerufen um reinzugucken - da hat er das ' vor /Library und das ' am schluss einfach weggelassen...

ich habe übrigens das ganze im terminal von mac geschrieben, weil ich es nirgends anders kann - du erinnerts dich - das problem mit dem . :?

Ehhh moment. WIE hast du das im Terminal geschrieben? Per `echo $string >> $datei' ? Und der Block unterscheidet sich doch ganz erheblich, von dem was du in deinem vorherigen Posting geschrieben hast.
goldfisch hat geschrieben:weisst du, wie man blender aus dem mac-terminal starten kann?

Hmm nein. Aber du musst doch irgendwie Hinweise auf deinem System finden können wie er denn sonst gestartet wird?!
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Mittwoch 20. August 2008, 21:37

WIE hast du das im Terminal geschrieben? Per `echo $string >> $datei' ? Und der Block unterscheidet sich doch ganz erheblich,...


ich habe ins terminal geschrieben:
echo export PYTHONPATH=', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages >> ~/.bashrc

das hat dann die datei erstellt. ist was falsch daran? und ich sehe keinen erheblichen unterschied an diesem block

Hmm nein. Aber du musst doch irgendwie Hinweise auf deinem System finden können wie er denn sonst gestartet wird?!


was meinst du damit ? wer ist er? der terminal?
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Mittwoch 20. August 2008, 22:34

goldfisch hat geschrieben:das hat dann die datei erstellt. ist was falsch daran? und ich sehe keinen erheblichen unterschied an diesem block


Die Verzeichnistrenner sind anders. Versuchs mal mit der Zeile von obigem Post ... ausserdem solltest du bei dem `echo' deinen gewünschten String in "" einpacken, damit er auch wie gewünscht rauskommt.

goldfisch hat geschrieben:was meinst du damit ? wer ist er? der terminal?

Blender war gemeint.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Mittwoch 20. August 2008, 22:55

jetzt habe ich gerade festgestellt, dass mein blender (trotz erstellter .bashrc mit PYTHONPATH) gar nicht mit python 2.5 sondern mit python 2.3 arbeitet. ich habe in blender das file system-info.txt gefunden. das spuckt aus, dass es mit python 2.3.5 arbeitet. unter paths gibt er an:
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python23.zip etc....

die ganze bastelei war also wirkungslos.
das problem ist immer noch dasselbe. ich kann print "hallo" mit alt p zwar offenbar auslösen, ich sehe es aber nicht, weil ich immer noch nicht weiss, wie ich blender aus der konsole heraus starten muss.

da ich offenbar in blender mit python version 2.3 arbeiten muss, funktioniert das script von rebecca nicht.


import csv

reader = csv.reader(open("test.csv", "rb"))
for row in reader:
for item in row:
print item

das scheint mit python 2.5 gemacht worden zu sein. was muss anders sein, damits in python 2.3 läuft?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 21. August 2008, 07:04

Es richtig einrücken könnte schon mal ein guter Ansatzpunkt sein.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Donnerstag 21. August 2008, 08:58

nun dachte ich, die kombination blender und python käme mir entgegen. oder weisst du was besseres für die grundlagen?

Fuer die ersten Schritte wuerde ich Blender erstmal weglassen und dich ersteinmal nur mit Python vertraut machen. Du solltest zumindest grundlegende Datantypen kennen, for-Scheifen, if-Statements. Also erstmal die einfuehrenden Kapitel eines Python-Buches deiner Wahl durcharbeiten, bevor du mit Blender anfaengst, da es keine Literatur darueber gibt, wie man mit Blender programmieren lernt, ausserdem wird man da schon mit vielen Konzepten auf einmal konfrontiert. Wenn du an visuellen Dingen Spass hast, koennte das Buch Python for Kids das richtige fuer dich sein, hier wird mit 2D-Turtle-Grafik gearbeitet.

Wie Leonidas schon sagte, solltest du die Leerzeichen an den Zeilenanfaengen des Scriptes uebernehmen, die sind naemlich in Python sehr wichtig. Dann sollte das Script auch mit Python 2.3 funktionieren. Als Anfaenger, und wenn du vor allem fuer Blender scripten willst, sollte 2.3 erstmal reichen.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Freitag 22. August 2008, 00:35

ich habe das script genau so übernommen, wie du es geschrieben hast - mit allen einrückungen (keine ahnung warum, wenn ich es mit copy and paste wieder hier im forum zwischen Quote setze, es die einrückungen und farben einfach ignoriert) im script ist es eingerückt und sollte auch laufen.

es funktioniert trotzdem nicht. ich habe natürlich das test.csv mit meiner meinedatei.csv ersetzt.
woran könnte es noch liegen, dass nichts passiert?

danke für den tipp mit python for kids. zu welcher version passt es denn? ich finde es drum frustrierend, ein buch zu haben, das dann nicht zur software passt und folglich die scripte nicht laufen. das kenn ich schon von achtion script und anderen programmen. das ist total frustrierend.

wenn python for kids mit 2.3 läuft, werde ich es mal bestellen.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Freitag 22. August 2008, 08:31

goldfisch hat geschrieben:woran könnte es noch liegen, dass nichts passiert?

Hast du das Script wieder in Blender ausprobiert? Wenn ja, dann lies noch mal in meinem Post oben nach, was ich ueber die print-Anweisung und warum du das nicht sehen kannst geschrieben habe.

Wenn nein, musst du uns sagen, wie du das Script startest.

Wenn wirklich etwas mit dem Script nicht stimmt oder es mit Pypthon 2.3. nicht funktioniert, bekommst du eine Fehlermeldung (deren Inhalt du uns natuerlich verraten muesstest).
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Freitag 22. August 2008, 10:11

ich habe das script mit dem texteditor von blender mit alt o (open) geöffnet und dann mit alt p laufen gelassen. bei deinem anderen script (das mit den edges) habe ich es genau gleich gemacht und das hat funktioniert.

wenn ich es jetzt mit diesem script mache, dann kommt folgende fehlermeldung:

Code: Alles auswählen

Error
Python script error, check console


und hier weiss ich eben nicht was ich checken soll :?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Freitag 22. August 2008, 10:19

goldfisch hat geschrieben:

Code: Alles auswählen

Error
Python script error, check console


und hier weiss ich eben nicht was ich checken soll :?

Genau die Konsole, aus der du Blender starten muesstest, und in der auch die print-Anweisungen landen wuerden.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei

Wer ist online?

Mitglieder in diesem Forum: brainstir, Google [Bot]