Closed mlavin closed 12 years ago
Thanks for reporting this.
I would like to leave the commiter date into the version string.
Now i have change the way that this date added to the version string, with: https://github.com/jedie/django-tools/commit/c72661de2e358370bf5e7a7ad575f12e0ec7f75c
I have made a simple filter for this, more info here: https://github.com/jedie/python-code-snippets/tree/master/CodeSnippets/git/
I hope that the reported issues is fixed with this. Please reopen and report if problems still exists...
Thanks for the quick turn around!
btw. IMHO it's a better idea to add a range in your requirements file!
like:
django-tools>=0.24,<0.25
I do it in this way, see: https://github.com/jedie/PyLucid/blob/master/requirements/normal_installation.txt
I'm going to disagree with you there. I think it's a better idea to pin your requirements to the exact version that you want so that no developers or environments are running different versions even if they are just "bug fix" differences. Packages are not consistent in how they version projects. Some make much larger changes when going from X.Y.Z
to X.Y.Z+1
. Even bug/security releases can introduce incompatible changes (either on purpose or by mistake).
In any case I came across this error because an coworker did
pip install django-tools
pip freeze > requirements.txt
and as noted doing pip install -r requirements.txt
failed because freeze
reported the version as 0.24.2
which doesn't exist on PyPi.
You where right, that version scheme are not consistent :(
But i do it like this: X.Y.Z
to X.Y.Z+1
are not backward incompatible changed. incompatible is always: X.Y
to X.Y+1
After playing with git filter and creating a commit hook i decided to remove the date form version string completely with v0.24.4
https://github.com/jedie/django-tools/commit/978ce5d1416f804150d260618cae18e67bafd074
The current version on django-tools on PyPi is
0.24.02.0710
. That alone is not that odd. However once installed the version is shown as0.24.02
. This creates problem with trying to pin the version with a requirements file demonstrated below:Now installing attempting to install this exact version errors:
And trying to install the version including the date stamp works (
pip install django-tools==0.24.2.0710
) but fails if it is in a requirements file (That this works on the command line but not in a requirements file is noted in a pip bug: https://github.com/pypa/pip/issues/145):Removing the date stamp from the version number is probably the easiest solution but might not be desirable to you. In any case the version number should be constantly reported (always with the date or always without) to prevent this conflict error.