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

version 0.16.0 made grpcio a hard requirement even without the grpc extra, breaking Python3 use #1879

Closed
Taywee opened this issue Jun 20, 2016 · 21 comments
Assignees
Labels
type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@Taywee
Copy link

Taywee commented Jun 20, 2016

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

@daspecster daspecster added the type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. label Jun 20, 2016
@daspecster
Copy link
Contributor

/cc @tseaver

@tseaver
Copy link
Contributor

tseaver commented Jun 20, 2016

@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?

@daspecster
Copy link
Contributor

This may also be affecting 0.15.0 as well.

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

@tseaver
Copy link
Contributor

tseaver commented Jun 21, 2016

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

@daspecster
Copy link
Contributor

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

@tseaver
Copy link
Contributor

tseaver commented Jun 21, 2016

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

@daspecster
Copy link
Contributor

@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

@dhermes
Copy link
Contributor

dhermes commented Jun 21, 2016

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

@Taywee
Copy link
Author

Taywee commented Jun 21, 2016

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

@daspecster
Copy link
Contributor

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

@daspecster
Copy link
Contributor

@tseaver, did you have any luck with pypi?

@tseaver
Copy link
Contributor

tseaver commented Jun 27, 2016

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

@daspecster
Copy link
Contributor

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

@theacodes
Copy link
Contributor

theacodes commented Jun 27, 2016

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.

@theacodes
Copy link
Contributor

Bump?

bump

@jgeewax
Copy link
Contributor

jgeewax commented Jun 29, 2016

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

@tseaver
Copy link
Contributor

tseaver commented Jun 29, 2016

@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?

@daspecster
Copy link
Contributor

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

@tseaver
Copy link
Contributor

tseaver commented Jun 29, 2016

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

@Taywee
Copy link
Author

Taywee commented Jun 29, 2016

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 Taywee closed this as completed Jun 29, 2016
@tseaver
Copy link
Contributor

tseaver commented Jun 29, 2016

@Taywee great, glad to hear it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
Development

No branches or pull requests

6 participants