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
  • $\begingroup$ +1. This is a GREAT question. If there's no answers I might put a bounty. I looked at your profile and saw you followed a proposal for a Materials Modeling Stack Exchange. If you don't mind another attempt at a Materials proposal, would you be so kind to commit to this? area51.stackexchange.com/proposals/122958/… It started slow but lately it's been booming with 5 commitments/day and very soon it will reach 200. $\endgroup$ – user1271772 Mar 26 '20 at 20:43

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.