[GUIDE] How to install Scipy in Maya Windows 64 bit

I've seen a lot of queries about getting scipy working in Maya (Windows 64 bit) with a few not 100% reproducible answers.

So after a long personal struggle with the problem, here's my solution which will hopefully end the madness for all Windows Maya users:


TL;DR version


unzip them somewhere relevant to PYTHONPATH. Congratulations! You can now use scipy in all it's glory!


"Long" version

What you need is a fully functional Python interpreted compiled with MSVC2010. The steps for how to do that can be found here. Fortunately, the author not only explains the steps for how and why doing this is a good idea, but also provides pre-built binaries which is really nice of him. So go ahead and download the 2.7.10 64bit build and unzip it somewhere (I put mine here: "C:Python27"). You can use PIP to install a properly packaged Python wheels which should play nice with mayapy.

Python wheels are awesome because when properly packaged they don't require compilers to install C extensions. Unfortunately our new version of Python isn't part of the standard distribution, so existing "official" numpy and scipy wheels won't work for us. However, there are developers out there who have made custom wheels which will suit our needs. The one I used is made by "carlkl", a dev I've yet to directly contact to shower him with praise.

His builds use OpenBLAS, which I haven't benchmarked against builds made with Intel MLK, but they work fine for my needs and, I presume, most Maya users out there. To get the packages, find your new version of PIP you just installed (mine is at "C:Python27Scriptspip.exe") and run these two commands:


Once PIP has installed *both* packages you can either point mayapy's PYTHONPATH to where PIP installed the packages, or copy them to "C:Program FilesAutodeskMaya20XXPythonLibsite-packages" or whatever location you keep your python modules. DO GRAB BOTH PACKAGES and don't mix and match scipy with a different builds of numpy or it will complain about DLL linking errors.

Congratulations, you're ready to rock!

Quick disclaimer: I recently noticed that running numpy.test() and scipy.test() *does* make mayapy crash, and i'm not entirely certain why but I do suspect it is benign. I've been using this build of scipy heavily in our tools and it's been stable and happy.


Cheers everyone!




原文地址:https://www.cnblogs.com/jonn/p/4779596.html