I have Blender 2.69 for Linux 64bit (using Ubuntu 13.10).

I followed the method detailed by @BNewmark to get SciPy working with Blender. I already had SciPy (version 0.13.2) for Python 3 installed from Ubuntu's repositories. The steps I followed were:

  • Opened a terminal and entered python3.
  • Entered import scipy; print(scipy.__path__) which gave the output: ['/usr/local/lib/python3.3/dist-packages/scipy']
  • Exitted Python and copied this directory to the site-packages directory (where NumPy was by default)

    cp -r /usr/lib/python3/dist-packages/scipy ~/blender-2.69-linux-glibc211-x86_64/2.69/python/lib/python3.3/site-packages/

  • Opened Blender, opened a Python console window and entered import scipy

The error I got was:

Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
  File "/home/garrett/blender-2.69-linux-glibc211-x86_64/2.69/python/lib/python3.3/site-packages/scipy/__init__.py", line 77, in <module>
    from numpy import oldnumeric
ImportError: cannot import name oldnumeric

This page talks about how NumPy is bundled with Blender (on Linux) and they show "the CMake install command that is used to get rid of extra files, reducing numpy's compressed size" which includes getting rid of oldnumeric.

I can import NumPy without problems. I also tried deleting Blender's bundled NumPy (version 1.8.1) and replacing it with my system's NumPy for Python 3.3 (version 1.8.0), which include oldnumeric, following similar steps as above. But then I couldn't import SciPy or NumPy, which both gave the error ImportError: cannot import name multiarray.

Any ideas?

  • $\begingroup$ what happens if you delete the entire ~/blender-2.69-linux-glibc211-x86_64/2.69/python/ directory? It should force Blender to use the system Python installation. $\endgroup$ – Mike Pan Feb 2 '14 at 7:21
  • $\begingroup$ @MikePan, deleting that directory causes Blender to not start! Going to the directory and typing ./blender gives the error, Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings' Aboted (core dumped) $\endgroup$ – Garrett Feb 2 '14 at 7:57
  • $\begingroup$ Huh, never mind that then. Deleting it on Windows works, but I just tried it on the Mac, seems to crash out same as Linux. $\endgroup$ – Mike Pan Feb 2 '14 at 19:39
  • $\begingroup$ Multiarray is a compiled module, if you cannot import it, I suspect the version you have isn't compile for the particular platform (OS, bitness or python version) $\endgroup$ – Mike Pan Feb 2 '14 at 19:56

Your Answer

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

Browse other questions tagged or ask your own question.