Autodesk 3ds Max ships with a pre-built version of PySide 1.2, and is the preferred library for using QT with Python in 3ds Max (see Using PySide). You may install other CPython extension libraries as well. However, while every effort has been made to ensure that CPython extension libraries such as PyQt, SciPy, NumPy, PIL, and so forth work with Python in 3ds Max, Autodesk does not provide technical support for them.
If you do want to use a CPython extension library such as PyQt, you must have the 64-bit binaries compiled using the same versions of Qt and Python that are used by 3ds Max 2017. These are Qt 4.8.5 and Python 2.7.6. Compiled extension libraries must then be placed at a location that can be found by Python. Python uses the list of directories in the sys.path global variable to find the location of imported Python scripts and extension modules.
Note: Python 2.7.6 is compiled with VC9.0, while 3ds Max 2017 is compiled with VC14.0. This means that you need to recompile CPython extension libraries for use with Python in 3ds Max with the more recent compiler.
Pip is a package management system for Python. It is useful for managing additional Python modules, including managing building modules from source (for example, NumPy). For libraries that contain pre-built binaries (such as zmq), you will need to obtain the source and re-build the binaries, replacing the ones installed by pip. By default, pip will try to use pre-built binaries. You can force pip to build from source with the --no-binary flag, and specifying a required version (see example below).
Visual Studio 2015 (with VC14.0) must be installed to build libraries from source.
To install pip:
Note: Use the --no-cache-dir option if Python is installed on your computer.
Note: By default, 3dsmaxpy.exe handles the case where there is a space in the path of the 3ds Max python install. You can disable this feature by setting an environment variable, \__disable_space_handling to FALSE.