Python bindings should not attempt to replace existing python package during build
E.g., the results of scons --variant=debug bindings=python build
for me:
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.16=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.16=. -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/hammer_wrap.o -L../../ -lhammer -o build/lib.linux-x86_64-2.7/_hammer.so
running install_lib
copying build/lib.linux-x86_64-2.7/hammer.py -> /usr/local/lib/python2.7/dist-packages
error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/hammer.py'
scons: *** [build/debug/src/bindings/python/hammer] Error 1
scons: building terminated because of errors.
To say this is not an appropriate default behavior seems like considerable understatement.