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

hallo
ich habe python2.5 auf meinem mac installiert. nun habe ich ein tutorial zu blender: first steps with python. darin steht, dass man im file .bashrc etwas ergänzen muss. dieses file kann ich auf meinem mac nicht finden. kann mir jemand weiterhelfen?
goldfisch
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

OS X 10.5 enthält bereits Python 2.5.1. Hast du noch ein älteres OS oder wolltest du ein anderes Python haben? Wie auch immer, die `.bashrc`-Datei kannst du einfach in `/Users/goldfisch` (oder wie dein Usernamen auch immer auf deinem Computer lautet) erstellen.

Stefan
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Die `.bashrc' ist eine Konfigurationsdatei der BASH und hat nichts mit Python zu tun ;)
Wie du dein Problem lösen kannst, hat ja sma schon beschrieben.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

hallo
danke für eure antworten.
ich arbeite mit osx 10.4, blender version 2.45 und habe gelesen, dass man python 2.5 runterladen und installieren soll. was ich dann auch gemacht habe. allerdings muss ich gestehen, dass ich etwas rumgewurstelt habe. so try and error und so...

mit dem terminal habe ich es hinbekommen, dass python scripts ausführt. aber die verbindung zu blender schaffe ich nicht. muss was mit dieser .bashrc zu tun haben.

wie erstelle ich denn so eine .bashrc? und lege ich die dann in die library? oder wohin muss die? und wie erstelle ich dann die verbindung mit blender?
:?
goldfisch
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Die `.bashrc`-Datei erstellt du mit einem Editor deiner Wahl (z.B. `vi`) in dem korrekten Verzeichnis. Reinschreiben musst du da, was immer dir deine Blender-Installation vorgibt.

Stefan
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

ok ich habe es mit dem textwrangler versucht. als ich es als .bashrc absichern wollte, kam folgende meldung:

names that begin with a dot "." are reserved for the system. if you decide to go ahead and ujse a name which gebins with a dot the file will be hidden. - das heisst ja dann auch, ich kann nicht bestimmen wohin das ding geht...

das finde ich aber gar nicht gut. wie finde ich das ding denn jemals wieder? ist das nicht etwas riskiert?

und muss das alles rein, was mir das shell mit dem befehl print sys.path rausspuckt? also das alles?
['/Users/ich/Documents', '/Applications/MacPython 2.5/IDLE.app/Contents/Resources', '/Applications/MacPython 2.5/IDLE.app/Contents/Resources', '/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']

und ich muss nur export PYTHONPATH= davorsetzen und die eckigen klammer und die beiden ' am anfang und ende löschen und dann klappts?
und was passiert da genau? woher weiss dann blender, was es damit machen muss?

zudem habe ich jetzt noch rausgefunden, dass ich mit dem programm idle ein anderes shell habe als mit terminal (das vom mac ist). welches benutze ich nun besser?
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

und jetzt habe ich gleich noch rausgefunden, dass die python-version 2.3 im system ist, ich aber die macpython version 2.5 im programmordner abgelegt habe. kann ich das jetzt dort rausnehmen und einfach in den systemordner legen? wahrscheinlich nicht oder? hilfe ich blicke nicht mehr duch... :K
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

`.'-Dateien sind versteckte Dateien (auf Unices) d.h. aber nicht, dass das nur Systemdateien sein dürfen, insofern is die Fehlermeldung irreführend ;)

Die `.bashrc' muss in deinen Home-Ordner.

Ich benutze keinen Mac, darum kann ich dir da nicht viel helfen, aber schau am besten mal an den Orten nach, die die Liste da vorgibt, ob die Dateien existieren. Dann sollte das korrekt sein.

Wie schauts denn mit nem Update zu 10.5 aus? Sind die nich kostenlos? Da sollte doch eine aktuellere Version dabei sein.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

geht aber nicht. ich kann die .bashrc datei nicht speichern. er motzt wegen dem punkt davor und besteht darauf, dass es ich dabei um eine systemdatei handeln muss. also kann ich sie nicht dort abspeichern wo du sagst, das sie hin muss. ist wirklich saublöd.
das uptdate auf 10.5 ist leider nicht kostenlos.

die liste, die python ausspuckt ist korrekt. die dateien sind vorhanden. python 2.5 läuft ja schon irgendwie. nur bekomme ich die verbindung zu blender nicht hin...
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dann schreib die Datei, speicher als bashrc unter deinem Home Ordner.

Ins Terminal:

Code: Alles auswählen

cd ~ && mv bashrc .bashrc
Vorher aber am besten mal schauen, ob sie denn doch schon da ist:

Code: Alles auswählen

cd ~ && ls -a 
Und danke für die Info ;)
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

danke für deine hilfe. unterdessen bin ich ein kleines schrittchen weiter. wenn ich bei blender das script window öffnen, kann ich sogar was reinschreiben. ich konnte sogar eine fläche schreiben, die auch dargestellt wurde. also funktionierts irgendwie auch ohne diese .bashrc datei. nur wenn ich ein script in einem externen text editor schreibe und dann importieren will, kann ich ihn zwar importieren, das script wird aber nicht ausgeführt...
dann habe ich eine blenderdatei gefunden, deren script läuft. ich habe es dann als datei.py gespeichert und in einer neuen blender-datei wieder mit öffnen im text editor von blender reingholt. dann wollte ich das script mit alt p laufen lassen. dann kommt eine fehlermeldung. irgend was mache ich falsch - nur was???
help! :cry:
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

goldfisch hat geschrieben: nur wenn ich ein script in einem externen text editor schreibe und dann importieren will, kann ich ihn zwar importieren, das script wird aber nicht ausgeführt...
Gibts denn auch eine Funktion die ausgeführt werden soll? So ala `main()' auf oberster Ebene(!!) ? Hab Blender leider noch nicht getestet ... evtl findest du da auch in einem Blender-Forum/Mailinglsite mehr Hilfe.
goldfisch hat geschrieben: dann kommt eine fehlermeldung. irgend was mache ich falsch - nur was???
Nützlich wäre vor allem was für eine Fehlermeldung ;)
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Ich glaube, du brauchst du eine Python-Installation nur, wenn du Module aus der Python-Bibliothek verwenden willst. Versuch doch fuer den Anfang mal ein einfaches Programm:

Code: Alles auswählen

import Blender
from Blender import Object
from Blender import NMesh
from Blender import Scene

viereck_mesh = NMesh.New()
viereck_obj = Object.New("Mesh", "Viereck") # Parameter: Typ, Name
viereck_obj.link(viereck_mesh)

current_scene = Scene.GetCurrent()
current_scene.link(viereck_obj)

Blender.Redraw()
Kannst du das ausfuehren, wenn nein, was fuer eine Fehlermeldung bekommst du?

Als naechstes kannst du nochmal ausprobieren, ob du auf die Standard-Module von Python zugreifen kannst, z.B:

Code: Alles auswählen

import os
print os.getcwd()
in Blender ausfuehren.

Am besten Blender aus der Konsole starten, dort siehst du die print-Ausgaben und Fehlermeldungen. Unter Linux landet sowas ansonsten in .xsession-errors, keine Ahnung, wo du das unter MAC finden kannst.
Offizielles Python-Tutorial (Deutsche Version)

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

danke für den code. was heisst blender aus der konsole starten??? ich habe blender geöffnet und dann scripts window - system - interactive console gewählt. dann ging ein schwarzes feld mit blauer schrift auf. darin habe ich den code eingetippt (gibt es keine möglichkeit, den code reinzukopieren?). er hat es schön gefressen, keine fehlermeldung ausgegeben (ausser wenn ich mich vertippt habe) - aber es passiert nichts! ich sollte doch oben im 3d view fenster etwas sehen?
dann habe ich

Code: Alles auswählen

import os
print os.getcwd()
reingetippt.
dann hat er in der interactive console einen / geschrieben - und sonst ist nichts passiert...
was mache ich falsch? :roll:
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Oh, die interaktive Konsole in Blender kannte ich noch gar nicht. :lol:
dann hat er in der interactive console einen / geschrieben - und sonst ist nichts passiert...

Der / zeigt an, dass das aktuelle Arbeitsverzeichnis das Wurzelverzeichnis ist (os.getcwd gibt dir das Arbeitsverzeichnis zurueck), was ja durchaus ok ist. Mit deiner Python-Installation scheint also alles in Ordnung zu sein.
was heisst blender aus der konsole starten???
Ein Terminal/Konsolen-Fenster oeffnen und darin blender eintippen...
aber es passiert nichts! ich sollte doch oben im 3d view fenster etwas sehen?
Hehe, das Scipt erzeugt nichts weiter als ein leeres Mesh-Objekt. Das ist natuerlich ziemlich schwierig zu entdecken, du solltest nur den Schwerpunkt im Koordinaten-Ursprung sehen (und den Namen "Viereck", falls du dir Objektnamen anzeigen laesst).
Offizielles Python-Tutorial (Deutsche Version)

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

ha - bin ganz stolz, dass ich mal was weiss :lol:

wenn ich blender aus dem terminal starten will kommt folgendes:
-bash: blender: command not found

wenn ich blender aus dem idle-shell starten will kommt folgendes:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
blender
NameError: name 'blender' is not defined

habe den Schwerpunkt im Koordinaten-Ursprung gefunden! das heisst es funktioniert juppie!

hast du mir jetzt noch einen schlauen tipp, wie ich es machen muss, damit ich den code nicht immer von hand eintippen muss? ich habe in einem tut gelesen, dass ich das mit dem texteditor in blender machen kann (oder auch in einem externen) und dann mit alt p ausführen lassen kann. das funktioniert aber bei mir nicht...
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

hey - jetzt hats gerade funktioniert!!! auch mit alt p!!!! ist ja super!!!!
in diesem fall sind alle anderen scripte, die ich ausprobiert habe wohl einfach falsch?
mein blenderbuch sagt, ich soll im text editor von blender schreiben:
print "hallo"
und dann mit alt p ausführen lassen - und da passiert eben gar nichts! ist das eine alte schreibart für python oder woran liegt es?

und jetzt zu meiner wichtigsten frage: ich habe eine excel-datei mit x, y, und z koordinaten als kommazahlen z.b. 14.9 etc.
mein wunsch wäre, diese koordinatenzahlen in ein pytonfile schreiben und es dann in blender mit edges ausführen zu lassen. geht so was?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

goldfisch hat geschrieben: print "hallo"
und dann mit alt p ausführen lassen - und da passiert eben gar nichts! ist das eine alte schreibart für python oder woran liegt es?
Das hat hoechstwahrscheinlich funktioniert, nur ist die Frage, wohin dieses print geht. Wie gesagt, unter Linuxen schreibt er das in die Datei .xsession-error, unter windows hat man immer noch ein DOS-Fenster im Hintergrund. Deswegen der Tipp, blender aus der Konsole zu starten, dann hat man in dem Konsolenfenster die Ausgabe.

wenn ich blender aus dem terminal starten will kommt folgendes:
-bash: blender: command not found
Das ist jetzt ein Problem mit der Konfiguration deines Macs/deiner Bash. Kenne mich mit mac nicht aus, vlt. geht ja /usr/bin/blender.
hast du mir jetzt noch einen schlauen tipp, wie ich es machen muss, damit ich den code nicht immer von hand eintippen muss?
Du kannst in Blenders Texteditor beliebiege Dateien reinladen (Alt O) und dan mit Alt P ausfuehren. Copy & Paste in Blenders Texteditor geht bei mir auch nicht, ich benutze immer einen externen Editor, um die Programme zu schreiben.
und jetzt zu meiner wichtigsten frage: ich habe eine excel-datei mit x, y, und z koordinaten als kommazahlen z.b. 14.9 etc.
mein wunsch wäre, diese koordinatenzahlen in ein pytonfile schreiben und es dann in blender mit edges ausführen zu lassen. geht so was?
Am einfachsten waere es, wenn du die Exel-Datei in Exel als csv-Datei exportierst. Solche csv-Dateien kann man in Blender ganz einfach mit dem [mod]csv[/mod]-Modul einlesen, und es ist dann ganz einfach, die enstprechenden Vertexes in Blender zu erzeugen, lies mal hier: [wiki]Blender[/wiki]. Aber woher weisst du, zwischen welchen Vertexes du Kanten haben willst?
Offizielles Python-Tutorial (Deutsche Version)

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

brauch ich denn diese bash? wozu ist die gut? das ist nämlich mein ur-problem. dass ich die auf dem mac nicht finde, resp. dass ich mit den unsichtbaren dateien in mac überfordert bin.

/usr/bin/blender hat er nicht gefunden. im macuser-forum weiss auch keiner bescheid. das kann doch nicht sein, dass ich die einzige mit einem mac bin, die mit blender und python was bauen möchte???

danke für den link auf deine seite. sieht ja gut aus - ausser dass das mit der mac-konfiguration pythonpath nicht vorkommt :wink:
und danke für den tipp mit der csv-datei - werde ich gleich ausprobieren!
Aber woher weisst du, zwischen welchen Vertexes du Kanten haben willst?
das sollte schön der reihe nach gehen - punkt 1 verbindet sich mit punkt 2, punkt 2 mit punkt 3 etc. wenn alle punkte eingelesen sind, sollte es eine linienkonstruktion geben. danach möchte ich noch die möglichkeit haben auch faces einzubauen.
wie schreibt man in python edges? ich habe auf deiner seite auch nur verts oder faces gefunden.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Die BASH ist das, was du startest, wenn du `Terminal' aufrufst.
http://de.wikipedia.org/wiki/Bash

Unichtbare Dateien sind nichts anderes als Dateien mit einem `.' an der ersten Stelle, die werden einfach per Konvention für den Bentuzer unzugänglich gemacht bzw Zugang erschwert.
Anzeigen können solltest du es mit `ls -a', wenn das nicht geht, dann befrage die `man ls'. Wie du das umgehn kannst, dass dein Programm nicht mit `.' speichert haben ich ja schon beschrieben ;)

Versuch statt /usr/bin/blender mal /Applications/blender und wenn das nich klappt schau dich mal im /Applications - Ordner um.
Antworten