some refactoring of setup.py:full_install