Now whenever you go to develop, pip install -f requirements.txt, when you update dependent packages, pip freeze.
You are by no means required to make your source code a module or anything like that. If you use the above with a virtualenv you can isolate different models for different projects and have them frozen at different versions. You are also able to modify requirements.txt to include version specific information. packagename==3.4.0 now locks packagename to 3.4.0 when pip goes to install it.
You are by no means required to make your source code a module or anything like that. If you use the above with a virtualenv you can isolate different models for different projects and have them frozen at different versions. You are also able to modify requirements.txt to include version specific information. packagename==3.4.0 now locks packagename to 3.4.0 when pip goes to install it.
I'm assuming your git directory looks like this:
I have several projects set up exactly like that, especially since they will never have to be distributed using a .egg or anything else.