Question

After hours of finding out why there are missing some documented functions in my Babel installation, I learned there are two branches of Babel development:

Babel has two separate development paths (0.9.x branch and trunk) in parallel for about 4 years now despite very few developers working on the project. We try to resolve that situation by releasing a stable 1.0 version but well, real live is not always friendly to open source contribution.

Babel's FAQ confirms that. I want to use Flask-Babel in my project. It's dependency in setup.py says I need just Babel. It means my pip takes any version installed in my environment or searches PyPI for the newest version, where is version 0.9.6. Unlogically, Flask-Babel uses functions which are not present in 0.9.x branch. Maybe I am missing something, maybe I am just confused, but how can I easily install the trunk version, where is the most of new features? And how can I enforce using such a version in my setup.py? How it all works for the people who use Flask-Babel? (I know, the last question is rather Flask-specific and should go here, but all the other questions can answer anyone else.)

Thank you for any suggestions. The bold questions are the most important, the rest is rather Flask-Babel-specific "nice to have".

Was it helpful?

Solution

Have you tried using pip with the url to the branch that you need?

$ sudo pip install http://svn.edgewall.org/repos/babel/trunk

After that, pip should be happy with the dependency:

$ sudo pip install Flask-Babel
...
Requirement already satisfied (use --upgrade to upgrade): Babel in /usr/local/lib/python2.7/dist-packages (from Flask-Babel)
...

Regarding how to force a dependency in you setup.py. Since you're already using pip, you can give a try to a requirements file.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top