4
$\begingroup$

I wish to include the libSBML library in one of my Blender addons. Although I was able to successfully do this on Linux, I'm having problems getting it to load in Blender's python console in my Windows box. I wrote the libSBML developers about this, and they replayed:

When I looked at Blender it seemed to be using Python 3.3.0. (Which is unfortunately the only python binaries we do not currently distribute). So I went ahead and created a set of binaries for the 'official' python 3.3. Looking at the dependencies, it depends on python33.dll and python3.dll. However, Blender only comes along with the python33.dll.

the best thing to do would be to be able to link directly against the library that Blender uses, unfortunately there are no lib files distributed with Blender. So I'm afraid I cannot help there. It would help to know how precisely they built the numpy module they distribute and then use the same build procedure for libSBML.

My specific questions would then be:

  1. Is it possible to either get python3.dll from the official python distribution and use it with Blender, or
  2. if there is a set of lib's that Blender uses that I could compile my own version of libsbml against so that I can include it in my addon.
  3. Alternatively, what are the set of steps that one needs to follow to compile a library against Blender python's libs and dlls in Windows (for example, like the cited mail states, how was Blender's numpy compiled).
$\endgroup$
5
$\begingroup$

DingTo created the Windows builds of numpy. You can find some info in this task's discussion, especially Juicyfruit's wiki page should be of interest.

The compiled numpy libs were added to the library repository and are placed in the site-packages folder when you build blender.

You will have to

  • provide a complete, customized blender build
    or
  • ask your users to manually place the required lib in blender's site-packages folder
    or
  • add the lib to your addon's folder and import it from there (sys.path.append should do the trick)
$\endgroup$
  • 1
    $\begingroup$ Is this question about external libraries that are C/C++ based? I have a similar question, but everything is just python. I hoped I could just bypass the need for compiling Blender. $\endgroup$ – Wray Bowling Jan 16 '15 at 0:09
  • $\begingroup$ AFAIK only numpy was compiled from source to a Python native module, and no compilation of Blender was involved. $\endgroup$ – CoDEmanX Jan 16 '15 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.