We solve this problem by keeping forks of the external projects on github, bitbucket, etc. Since PIP works so nicely with those tools, it's pretty easy to do. You'll also find that beyond the initial work of creating your own fork (which is actually really really easy on both github and bitbucket), maintaining your patches is easier in the fork than keeping your patch files laying around. It's also nice in that if your patch is useful to the project, it's easy for them to merge it in, which is good for both you and the project. Of the 19 external django apps we use, we maintain our own branches on github/ bitbucket for 7 of them because of minor patching we had to do.
One tip though, it took me a while to get this through my head, but explicit versions in your requirements file are almost always the way to go. You might think it's a hassle to update your requirements file every time you make a new commit to your fork of a project, but it ensures that no change every sneaks up on you and it also lets you add a useful commit message to your actual project like "Updated requirements for django-foo to add support for feature X and fix bug Y" which means you only have one commit log to grep through to find what you need later. It also means that you can always reproduce old builds if needed. -Wes On Nov 24, 3:53 pm, Alex Rades <alera...@gmail.com> wrote: > Hi, > I know this is probably not 100% django related (well, actually is 0%) > but I think most of you have worked with virtualenv and PIP and this > looks like a good place to talk about deployment scenarios. > > Basically, I'd like to handle dependencies of my virtual environment > with PIP, but I have some patches to external projects that I have to > apply to apply before I can use them. > Looks like PIP does not offer a facility to apply patches to > downloaded dependencies. Maybe pip is not the right tool to do this. > > How do you handle your patching needs in your environments? I've > started thinking about using fabric to do this, but I'm not really > sure. > > Thank you very much. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.