Google-cloud-python: version 0.16.0 made grpcio a hard requirement even without the grpc extra, breaking Python3 use

Created on 21 Jun 2016  路  21Comments  路  Source: googleapis/google-cloud-python

You can see this in the Requires Distributions on Pypi

2016-06-20-173101_525x429_scrot

grpcio still does not work in python3, making python3 projects unable to use the latest gcloud-python module.

You can see this is caused by https://github.com/GoogleCloudPlatform/gcloud-python/blob/0.16.0/setup.py#L29 where it is done if it is built in python2.7, even though it may be installed in python3

bug

Most helpful comment

Bump?

bump

All 21 comments

/cc @tseaver

@Taywee Thanks for the report! Per setup.py, grpcio is only a hard requirement for Python 2.7. However, we have not updated setup.cfg to turn off universal = 1 for wheel building.

Our first response should be to delete the broken none-any wheel distribution for 0.16.0. After that, we can look at building the wheel file both for Python 2.7 and for Python 3.4+. @dhermes do you have the keys to be able to delete that file manually?

This may also be affecting 0.15.0 as well.

screen shot 2016-06-20 at 7 45 20 pm

@daspecster Note that in 0.15.0 those were "extra" dependencies: in 0.16.0 they show up as unconditonal.

I'm probably missing something very obvious here, but it looks the same to me except for the version number?

0.16.0
screen shot 2016-06-20 at 8 12 25 pm

@daspecster See the ; extra == 'grpc' at the end?

AFAICT, the current grpcio release is actually OK for Python 3.4+, as long as one installs it first. There are a couple of issues in the GAX pubsub layer and our tests, though.

@tseaver, yeah, isn't that in both 0.15.0 and 0.16.0?

0.16.0

screen shot 2016-06-20 at 8 19 58 pm

0.15.0

screen shot 2016-06-20 at 8 20 29 pm

@tseaver RE:

@dhermes do you have the keys to be able to delete that file manually?

Sent you an email with the necessary PyPI info.

@daspecster You've missed that in 0.16.0 grpcio shows up in the list twice.

@Taywee Ah yes! That's it. Sorry for the noise!

@tseaver, did you have any luck with pypi?

@dhermes sent me the credentials, but I've dropped the ball so far.

I'm not sure how quick of a fix this is. If there's anything I can do to help, LMK.

To throw a significant amount of gasoline to the flames here:

GoogleCloudPlatform/python-docs-samples and GoogleCloudPlatform/getting-started-python are currently being forced to pin an older version of the library for 3 support.

Keep in mind _all_ of our samples for App Engine Flexible are Python 3 first.

Let me and @waprin know if there's anything we can do to help.

Bump?

bump

@tseaver : anything to update ? I think the world is mad :(

@jgeewax I just removed the broken gcloud-0.16.0-py2.py3-none-any.whl distribution from PyPI. We should probably make a 0.16.1 release, branched off the 0.16.0 tag, and disabling the universal wheel setting:

[bdist_wheel]
universal = 1

Maybe we should be disabling wheel releases altogether until we figure out how the grpcio-related packaging issues intersect with us. @dhermes, @daspecster WDYT?

I think that could solve most of the issues people are seeing so I'm for it.

@Taywee please give https://pypi.python.org/pypi/gcloud/0.16.1 a spin, and let us know if it resolves the issue for you.

That looks to have fixed it so far. I can install the package in the first place, which wasn't working before. Thanks much!

@Taywee great, glad to hear it!

Was this page helpful?
0 / 5 - 0 ratings