use requirements.txt + setup.py