I don't know if you finally solved this problem, but I thought I would post the fix in my own case, in the hope it will save someone some time in the future. I am running python 2.7 MSC v.1500 64 bit (AMD64)] on win32 (Active State old free version on Windows 8). I followed the Google install instructions online, downloading the zipped archive
. I unpacked that in a directory in my Python directory ("C:\Python27\Lib\ortools_examples") and then ran python.exe setup.py install (while Internet connection up). I ran the depency check and it looked ok.
However, when I attempted to run "C:\Python27\Lib\ortools_examples\examples\python\zebra.py", I got an error:
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named _pywrapcp
I was running in the Pythonwin debugger environment supplied with ActiveState Python 2.7. I stepped through execution on another run, assuring that the scripts were finding the file in "C:\Python27\Lib\site-packages\ortools-4.4.3842-py2.7-win-amd64.egg\ortools\constraint_solver\_pywrapcp.pyd". Interestingly, when I stepped into the C:\Python27\lib\importlib\__init__.py", line 37 __import__(name) statement (which was where the fail point was occuring) this time I got an "ImportError: DLL load failed: The specified module could not be found." (When I had been executing zebra.py in Python directly I got only the "couldn't find" error.) I note that I did add a PYTHONPATH system environment variable in my Windows system to assure it could find the constraint solver files, but that was not a problem. This more detailed error suggested to me that there was something about the Python dll file (_pywrapcp.pyd) that it choked on.
I spend days researching the problem (I hadn't been a Python user previously, though was a software engineer in the 1980's) and finally got hold of a tool that allowed me to see what _pywrapcp.pyd wanted, i.e., what files it depended on. The tool was dependencywalker. This tool is not completely accurate on later Windows systems like mine (Windows 8), for example, when I ran it against one of the Python installation pyd files in another directory it claimed that the file couldnt locate MSVCR90.DLL, i.e., the Microsoft Visual C runtime Version 9.0. I knew this was not correct since I tested the file with C:\Python27\Lib\test\test_ctypes.py and it passed. However, dependencywalker was at least telling me what MS C runtime version the pyd file wanted, so I ran it against _pywrapcp.pyd and it told me it wanted MSVCP140.DLL. This is the MS C runtime version 14.0, the 2015 Visual Studio C runtime distributable.
I checked my system in Add/Remove Programs and I did not have the 2015 C runtimes, though had 2005 - 2012 versions. I realized that or-tools was probably compiled with the latest MSVC version so I installed the MS 2015 MSVC runtime from
https://www.microsoft.com/en-us/download/details.aspx?id=48145 (free). Some may suggest I should have always been installing updates and might have picked it up without the problems, but as for myself I don't trust Microsoft and don't let them install anything anytime. 2015 MSVC had telemetry hidden in it for a while, since removed (I hope), so my concerns were not unfounded.
To make a long story short (probably too late, grin), after I installed the 2015 C runtime (went ahead and installed x86 and x64---doesn't really matter how many versions you have---I'm running 64 bit but wanted to assure everyone was happy, whatever they wanted) I ran zebra.py and was pleased to learn that "The norwegian drinks water. and the japanese owns the zebra." That is the contraint problem solution I assume (too tired to dig into the actual solver usage today).
So, if anyone is having an error claiming that one of the _pywrapxx.pyd files can't be found, after you assure you have namespace available, proper paths to your Python directories, take a look at your Windows Add/Remove Programs and assure you have the latest MS Visual C redistributables. It doesn't cause any harm to install those and they are free. It is likely or-tools is always going to use the latest.