Thriftpy/gunicorn_thrift

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.

@wooparadog

@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).