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

Dienstag 19. August 2008, 13:07

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

Dienstag 19. August 2008, 13:18

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:

Dienstag 19. August 2008, 13:44

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

Dienstag 19. August 2008, 14:31

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dienstag 19. August 2008, 15:49

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.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Dienstag 19. August 2008, 16:42

habe ins terminal geschrieben: ls -a

da hat er mir .bash_history und .bash_profile angegeben. aber ich kann es nicht öffnen.

applications/blender - da komme ich einfach im programmordner in den ordner wo das blenderprogramm abgelegt ist. im selben ordner befindet sich u.a. ein ordner plugins - in dem sind wieder ordner mit dateien - aber weit und breit keine datei mit namen .bash oder bashrc

was ich allerdings in blender sehen kann, wenn ich z.b. eine blenderdatei sichern will, ist die datei .bash_profile - aber ich kann sie auch von hier aus nicht öffnen.

ich finde es etwas riskant, eine datei zu schreiben, sie mit dem befehl mv bashrc .bashrc umzuwandeln, wenn ich sie dann nicht mehr öffnen, ändern oder löschen kann. oder kann ich das dann noch?[/img]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 19. August 2008, 16:48

goldfisch hat geschrieben:da hat er mir .bash_history und .bash_profile angegeben. aber ich kann es nicht öffnen.
Wieso dass denn nicht? Das sind einfache Textdateien. Zur Not versuche mal

Code: Alles auswählen

$ more .bash_history
$ #oder
$ less .bash_profile
Wobei Du more und less nach Belieben einsetzten kannst. Diese Programme hast Du wenigstens 100%ig.

Gruß,
Christian
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Dienstag 19. August 2008, 17:18

uiuiui - was geht jetzt ab? mit dem more .bash_history kommt:
/Applications/blender-2.45-darwin-8.10.1-i386/blenderplayer; exit
/Applications/MacPython\ 2.5/Update\ Shell\ Profile.command; exit
python
/Applications/MacPython\ 2.5/Update\ Shell\ Profile.command; exit
print "helloWorld"
print "helloworld"
/Applications/MacPython\ 2.5/Update\ Shell\ Profile.command; exit
print "helloworld"
pythonhelloworld.py
print "helloworld"
print "helloworld"
/Applications/MacPython\ 2.5/Update\ Shell\ Profile.command; exit
print "hello"
python
python
python
phyton
python
python
python
python
python latoya.py
latoya.py
.bash_history 39%

mit less .bash_profile kommt folgendes:
# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
.bash_profile (END)

was ist das? und wie kann ich jetzt die richtige konfig eingeben? ich kann die beiden ja nicht editieren - oder kann ich?
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dienstag 19. August 2008, 19:25

.bash_history ist nichts anderes als eine Liste aller Kommandos, die du in die BASH eingegeben hast ;)

Die Dateien kannst du editieren, sofern du schreibrechte hast ;) Wenn nicht kannst du dir die ja als root geben ;)

Wenn du die `.bashrc' umbenennst gehts du kein risiko ein:
Per `rm .bashrc' kannst du sie jederzeit löschen.

Nochmal zum bearbeiten der Dateien: Per `vi $datei' solltest du sie auf jeden Fall bearbeiten können, denn der meckert mit Sicherheit nicht ;)
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Dienstag 19. August 2008, 22:14

jetzt versteh ich nur noch bahnhof :(

ich habe vi ins terminal eingegeben - dann kam das
~
~
~
~ VIM - Vi IMproved
~
~ version 6.2
~ by Bram Moolenaar et al.
~ Vim is open source and freely distributable
~
~ Help poor children in Uganda!
~ type :help iccf<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version6<Enter> for version info
~
~
~
~

was ist den das?
wenn ich vi datei eingebe, kommt
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"datei" [New File]



keine ahnung was das ist, resp. wo ich damit gelandet bin...
:?

und das verstehe ich gar nicht, was du damit meinst
Die Dateien kannst du editieren, sofern du schreibrechte hast
Wenn nicht kannst du dir die ja als root geben
wieviele .bashrc kann man haben? und woher weiss er wo er sie hinlegen muss? ich frage, weil ich einerseits ein terminal vom mac habe und andererseits das idle von python - und da sind die pfade nicht gleich, wenn man import sys und dann print sys.path eingibt
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dienstag 19. August 2008, 23:15

Also: VIM ist ein Editor ... ein bisschen komplex, aber ich musste ihn einfach nennen, da der auf jedem Unix vorhanden ist - und der Editor deiner Wahl wohl Probleme mit `.'-Dateien hat.

Um zu tippen drück `i'. Wenn du fertig bist drück `Esc' und gib `:x' ein. Dann hast du deine .bashrc.

Jeder Benutzer kann eine `.bashrc' haben, ist ja schliesslich die persönliche Konfigurationsdatei für die BASH. Das mit den Rechtern bezog sich auf die anderen .bash-Dateien ... wobei ich stark bezweifel, dass man da nicht volle Rechte hat.

Die $PATH ist der Suchpfad, den das System - und damit die Shell - verwendet. `import sys; print sys.path' dagegen druckt den Pythonpfad, also der Pfad in dem nach Modulen gesucht wird.
Zuletzt geändert von cofi am Mittwoch 20. August 2008, 13:10, insgesamt 1-mal geändert.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Dienstag 19. August 2008, 23:32

ok soweit hats geklappt. ich konnte mit dem terminal eine .bashrc erstellen. ich habe den PYTHONPATH so reingeschrieben, wie ihn mir das terminal ausgegeben hat. jedenfalls vermute ich das...

leider hat das ganze keine auswirkung auf blender - es passiert immer noch nichts. jetzt möchte ich zu gerne in diese .bashrc reinschauen, um zu sehen, was jetzt wirklich drin steht. wie kann ich das machen?

was mich zusätzlich verwirrt ist, dass der idle python-shell einen anderen pfad ausgibt, als das terminal. welchen muss ich jetzt nehmen?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Mittwoch 20. August 2008, 08:38

Kanten erzeugen:

Code: Alles auswählen

import Blender

viereck_mesh = Blender.NMesh.New()

# Fuege dem Mesh die vier Eckpunkte hinzu:
viereck_mesh.verts.append(Blender.NMesh.Vert(-1, -1, 0))
viereck_mesh.verts.append(Blender.NMesh.Vert(-1, 1, 0))
viereck_mesh.verts.append(Blender.NMesh.Vert(1, 1, 0))
viereck_mesh.verts.append(Blender.NMesh.Vert(1, -1, 0))

# Fuege dem Mesh Kanten hinzu:
viereck_mesh.addEdge(viereck_mesh.verts[0], viereck_mesh.verts[1])
viereck_mesh.addEdge(viereck_mesh.verts[1], viereck_mesh.verts[2])
viereck_mesh.addEdge(viereck_mesh.verts[2], viereck_mesh.verts[3])
viereck_mesh.addEdge(viereck_mesh.verts[3], viereck_mesh.verts[0])

viereck_obj = Blender.Object.New("Mesh", "Viereck")
viereck_obj.link(viereck_mesh)

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

Blender.Redraw()
Fuer Flaechen kann man analog addFace verwenden, das sollte ich im Wiki bei Gelegenheit mal aendern...

Leider ist die Blenderseite momentan teilweise down, unter Documentation findest du dort normalerweise die Referenz zur Python-API, die solltest du dir unters Kopfkissen legen. :wink:
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 20. August 2008, 08:55

cofi hat geschrieben:Um zu tippen drück `i'. Wenn du fertig bist drück `Esc' und gib `:x' ein. Dann hast du deine .bashrc.
Müsste es nicht heißen: Mach ein Gesicht das so :x ausschaut? :twisted:
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mittwoch 20. August 2008, 13:10

goldfisch hat geschrieben: .bashrc reinschauen, um zu sehen, was jetzt wirklich drin steht. wie kann ich das machen?
Geht ebenfalls mit `vi' ... ausserdem mit `more', `less' sowie `cat' ;)
goldfisch hat geschrieben: was mich zusätzlich verwirrt ist, dass der idle python-shell einen anderen pfad ausgibt, als das terminal. welchen muss ich jetzt nehmen?
Das hab ich ja schon beschrieben ;) Der Pfad des Terminals ist $PATH, der von Python ist $PYTHONPATH bzw sys.path
Leonidas hat geschrieben:Müsste es nicht heißen: Mach ein Gesicht das so Mad ausschaut? Twisted Evil
Args! Verdammte automatisch Smiliesch... Danke für den Hinweis ;)
Antworten