How can i import a blender python script inside another. I am working a python file using blender api named - generate.py, which contains some functions. I want to call those functions in another file called test.py. I opened both the files in the blender text editor and on top of the test.py file, i wrote "from genrate import *", but when i call a function defined inside generate.py in test.py, i get an error saying module named generate.py does not exist. So what is the right way to define modules in blender. I also have both the files in the same directory
1
-
$\begingroup$ possible duplicate of blender.stackexchange.com/questions/33603/… $\endgroup$ – Mutant Bob Apr 19 '16 at 19:52
6
$\begingroup$
$\endgroup$
The issue was that the path of the python module - generate.py was not in the locations where python searches for modules. To make generate.py visible to python add the following code on top of test.py
import bpy
import sys
import os
dir = os.path.dirname(bpy.data.filepath)
if not dir in sys.path:
sys.path.append(dir )
import generate
# this next part forces a reload in case you edit the source after you first start the blender session
import imp
imp.reload(generate)
# this is optional and allows you to call the functions without specifying the package name
from generate import *
-
$\begingroup$ You can find that example at web.purplefrog.com/~thoth/blender/python-cookbook/… $\endgroup$ – Mutant Bob Apr 19 '16 at 19:51