Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip construes "3.0.0-alpha-1" as later than "3.0.0a3" #855

Closed
nathanielmanistaatgoogle opened this issue Oct 5, 2015 · 3 comments
Closed

Comments

@nathanielmanistaatgoogle

Trivially reproducible for me; let me know if you have problems:

(with a virtual environment "venv")
$ venv/bin/pip install --upgrade "protobuf>=3.0.0a3"
Downloading/unpacking protobuf>=3.0.0a3
  Downloading protobuf-3.0.0-alpha-1.tar.gz (193kB): 193kB downloaded

I currently can't write any dependencies as protobuf>=3.0.0a3 and count on them getting the latest version of protobuf from PyPI.

@haberman: I suspect that the right thing to do here is remove the 3.0.0-alpha-1 package, even if doing so breaks some folks - "alpha" does mean "occasional hardship".

@nathanielmanistaatgoogle
Copy link
Author

When I look at https://pypi.python.org/pypi/protobuf today I don't see a 3.0.0-alpha-1 package, so it seems to me that this issue is likely resolved. Please close if you agree?

nathanielmanistaatgoogle added a commit to nathanielmanistaatgoogle/grpc that referenced this issue Jan 4, 2016
This is possible now that protocolbuffers/protobuf#855
is fixed (or at least appears to be fixed).
@xfxyjwf
Copy link
Contributor

xfxyjwf commented Jan 4, 2016

Yes, we removed (hide) the 3.0.0-alpha-1 package due to the inconsistent naming.

@michael-berlin
Copy link

Just as an FYI:

We got bitten by this issue in the wild. Apparently, we've hit a specific combination of software versions in our Travis CI tests where the hidden alpha-1 release is not ignored.

Output from the pip -v command which installs gRPC Python:

Downloading/unpacking protobuf>=3.0.0a3 (from grpcio==0.13.0)
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.0.0beta.tar.gz#md5=a0bc636064dc618068f63470a873f929 (from https://pypi.python.org/simple/protobuf/), version 2.0.0beta doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.0.3.tar.gz#md5=abe09188aed233ed35e2fc69b3d1a5b0 (from https://pypi.python.org/simple/protobuf/), version 2.0.3 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.3.0.tar.gz#md5=bb020c962f252fe81bfda8fb433bafdd (from https://pypi.python.org/simple/protobuf/), version 2.3.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.4.1.tar.gz#md5=72f5141d20ab1bcae6b1e00acfb1068a (from https://pypi.python.org/simple/protobuf/), version 2.4.1 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.5.0.tar.gz#md5=338813f3629d59e9579fed9035ecd457 (from https://pypi.python.org/simple/protobuf/), version 2.5.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.6.0.tar.gz#md5=3a25a1efda4feba5427b96e9b34bc94a (from https://pypi.python.org/simple/protobuf/), version 2.6.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.6.1.tar.gz#md5=6bf843912193f70073db7f22e2ea55e2 (from https://pypi.python.org/simple/protobuf/), version 2.6.1 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-3.0.0a2.tar.gz#md5=47fdec5eabfcf6a22622a9febf17d262 (from https://pypi.python.org/simple/protobuf/), version 3.0.0a2 doesn't match >=3.0.0a3
  Using version 3.0.0-alpha-1 (newest of versions: 3.0.0-alpha-1, 3.0.0b2, 3.0.0b1.post2, 3.0.0a3)
  Downloading protobuf-3.0.0-alpha-1.tar.gz (193Kb): 193Kb downloaded
  Running setup.py egg_info for package protobuf

This is supposedly with pip 1.1. Full log: https://travis-ci.org/youtube/vitess/builds/113311581

However, I could not reproduce the issue locally with a pip version 1.1. On other machines, it always ignores the alpha-1 version:

Downloading/unpacking protobuf>=3.0.0a3 (from grpcio==0.13.0)
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.0.0beta.tar.gz#md5=a0bc636064dc618068f63470a873f929 (from https://pypi.python.org/simple/protobuf/), version 2.0.0beta doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.0.3.tar.gz#md5=abe09188aed233ed35e2fc69b3d1a5b0 (from https://pypi.python.org/simple/protobuf/), version 2.0.3 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.3.0.tar.gz#md5=bb020c962f252fe81bfda8fb433bafdd (from https://pypi.python.org/simple/protobuf/), version 2.3.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.4.1.tar.gz#md5=72f5141d20ab1bcae6b1e00acfb1068a (from https://pypi.python.org/simple/protobuf/), version 2.4.1 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.5.0.tar.gz#md5=338813f3629d59e9579fed9035ecd457 (from https://pypi.python.org/simple/protobuf/), version 2.5.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.6.0.tar.gz#md5=3a25a1efda4feba5427b96e9b34bc94a (from https://pypi.python.org/simple/protobuf/), version 2.6.0 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-2.6.1.tar.gz#md5=6bf843912193f70073db7f22e2ea55e2 (from https://pypi.python.org/simple/protobuf/), version 2.6.1 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-3.0.0-alpha-1.tar.gz#md5=7318fdb3dc43390b305dbc4f0df2aefa (from https://pypi.python.org/simple/protobuf/), version 3.0.0-alpha-1 doesn't match >=3.0.0a3
  Ignoring link https://pypi.python.org/packages/source/p/protobuf/protobuf-3.0.0a2.tar.gz#md5=47fdec5eabfcf6a22622a9febf17d262 (from https://pypi.python.org/simple/protobuf/), version 3.0.0a2 doesn't match >=3.0.0a3
  Using version 3.0.0b2 (newest of versions: 3.0.0b2, 3.0.0b1.post2, 3.0.0a3)
  Downloading protobuf-3.0.0b2.tar.gz (200Kb): 200Kb downloaded
  Running setup.py egg_info for package protobuf

This is just an FYI. I don't understand what's wrong there and gave up debugging it. Instead, I'll work-around the issue by explicitly pinning our gRPC Python copy to protobuf 3.0.0a3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants