Making setup.py more robust