Installing python-openzwave on Windows¶
How To Build python-openzwave on Windows with VS2015¶
Assuming Python 3.5 is set in PATH Assuming your python environment has pip, cython, setuptools
Get sources¶
git clone https://github.com/openzwave/python-openzwave.git
cd python-openzwave
git clone git://github.com/OpenZWave/open-zwave.git openzwave
cd openzwave
git checkout Dev
cd ..
git checkout python3
Build open-zwave¶
Open openzwave/cpp/build/windows/vs2010/OpenZWave.sln in Visual Studio
When asked, accept the project upgrade to VS2015
Build Win32|Release
Build python-openzwave lib¶
Patch libopenzwave.pyx
Cause: ValueID has no default constructor and cython needs one for allocating objects on the stack
Fix: Allocate object on the the heap as a workaround
Open test/python-openzwave/src-lib/libopenzwave/libopenzwave.pyx
Go to line 437 and change:
values_map.insert(pair[uint64_t, ValueID](v.GetId(), v))
To:
newPair = new pair[uint64_t, ValueID](v.GetId(), v)
values_map.insert(deref(newPair))
del newPair
From a Command Prompt, build it :
python setup-lib.py build
python setup-api.py build
And install it (in a virtualenv if needed) :
python setup-lib.py install
python setup-api.py install
Reference : https://github.com/OpenZWave/python-openzwave/issues/53