Página 1 de 1

funciones en python y la carpeta local

Publicado: Lun May 09, 2011 12:42 pm
por esahagun
Hola a todos:

Estoy escribiendo un script en python y quiero definir una funcion en otro fichero para llamarla desde el main script. Para llamarla tengo que escribir (si no me equivoco, ya que soy nuevo en python):

import functionfile

function ()

El fichero functionfile.py esta en la misma carpeta que el archivo Blender y Blender me dice que no encuentra functionfile.py

ImportError: No module named functionfile

Creo que es un problema de paths... Alquien puede ayudarme?

Muchas gracias por adelantado!

Re: funciones en python y la carpeta local

Publicado: Lun May 09, 2011 1:34 pm
por zodman
No se muy bien como organiza blender sus extensiones.


esta bien el >> import functionfile

pero para llamarlo seria functionfile.function()

Y tu problema es tu path :)
Cuales son tus paths de python ?

corre esto:

import sys
print sys.path


aqui te pongo los mios de ejemplo.

>> import sys
>>> sys.path
[\'\', \'/usr/lib/python2.6/site-packages/pysmell-0.7.3-py2.6.egg\', \'/usr/lib/python2.6/site-packages/Twisted-10.2.0-py2.6-linux-i686.egg\', \'/usr/lib/python2.6/site-packages/beets-1.0b7-py2.6.egg\', \'/usr/lib/python2.6/site-packages/munkres-1.0.5.4-py2.6.egg\', \'/usr/lib/python2.6/site-packages/python_musicbrainz2-0.7.2-py2.6.egg\', \'/usr/lib/python2.6/site-packages/gondor-1.0b1.post1-py2.6.egg\', \'/usr/lib/python2.6/site-packages/argparse-1.1-py2.6.egg\', \'/usr/lib/python26.zip\', \'/usr/lib/python2.6\', \'/usr/lib/python2.6/plat-linux2\', \'/usr/lib/python2.6/lib-tk\', \'/usr/lib/python2.6/lib-old\', \'/usr/lib/python2.6/lib-dynload\', \'/usr/lib/python2.6/site-packages\', \'/usr/lib/python2.6/site-packages/Numeric\', \'/usr/lib/python2.6/site-packages/PIL\', \'/usr/lib/python2.6/site-packages/kodos\', \'/usr/lib/python2.6/site-packages/gst-0.10\', \'/usr/lib/python2.6/site-packages/gtk-2.0\', \'/usr/lib/python2.6/site-packages/pyinotify\', \'/usr/lib/python2.6/site-packages\', \'/usr/lib/python2.6/site-packages/wx-2.8-gtk2-unicode\']


Creo que aqui esta mejor explicado http://wiki.blender.org/index.php/Doc:M ... thon/Setup

Re: funciones en python y la carpeta local

Publicado: Lun May 09, 2011 1:35 pm
por zodman
usas linux o windows ?

Re: funciones en python y la carpeta local

Publicado: Lun May 09, 2011 2:06 pm
por esahagun
Gracias por responder:

Creo que he localizado el problema: He conseguido que blender encuentre el modulo. Tengo que guardarlo en

/usr/share/blender/2.57/scripts/modules (uso ubuntu)

El problema que tengo ahora es que cuando hago cambios, el script en blender no los ve. Estoy intentando utilizar el comando reload, pero no lo reconoce. También he intentado esto:

from esfdurpy import *
import imp
imp.reload(esfdurpy)

esfdurpy es la función que estoy creando yo. Y cuando ejecuto esto lo que me dice es que encuentra esfdurpy en la primera linea (from esfdurpy import *) pero cuando ejecuto imp.reload(esfdurpy) me dice que:

NameError: name \'esfdurpy\' is not defined

No entiendo nada!

Gracias!

Re: funciones en python y la carpeta local

Publicado: Lun May 09, 2011 2:14 pm
por esahagun
creo que ya lo he resuelto y era un problema de orden... (o eso parecia). Me refiero al orden en el que se hacían las llamadas... extraño.

Gracias por todo y un saludo!!