gunicorn version in requirements.txt
Closed this issue · 3 comments
Here is the situation I ran into:
In my project requirements.txt, I use gunicorn==19.1.1 and gunicorn_thrift master branch via git.
Then I run pip install -r requirements.txt, pip freeze, and gunicorn is 19.1.1. After that I try to run gunicorn_thrift, but error occur:
Traceback (most recent call last):
File "/virtualenv/bin/gunicorn_thrift", line 5, in <module>
from pkg_resources import load_entry_point
File "/virtualenv/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module>
parse_requirements(__requires__), Environment()
File "/virtualenv/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: gunicorn==19.1.0
Maybe a better way to write requirements.txt should be using gunicorn>=19.1.0
, instead of gunicorn==19.1.0
?
Also by doing this, if we got some issues caused by upstream changes, we can fix it in time.
@ritksm I need to test if gunicorn=19.1.0 is compatible first.
And always using the latest version is kinda risky. I'll test 19.1.1 soon and update this version.
@wooparadog
The point is, If we use gunicorn>=19.1.0
, let's say gunicorn released version 19.1.2, upstream did some API changes, and gunicorn_thrift is broken. We can figure it out as soon as gunicorn release new versions. Instead of each time gunicorn updates, I have to file a issue here.
As a library kind of package, we shouldn't be restraining what version of other packages user might want to use.
updated to 0.0.7.1 which specifies to use 19.1.1
This is actually not a library but a server, and should be as stable as possible no matter what upstream does. If there is a new version of gunicorn, we should always test it before upgrading dependencies in gunicorn_thrift. (which is really just running tests against the new version).