You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
new gax breaks pip installed console scripts #1979
I was doing some work on https://github.com/wal-e/wal-e and it was going smoothly until I decided to delete my tox test environment. Now pip install of this program crashes from the load_entry_point import with:
$ .tox/py27/bin/wal-e version
Traceback (most recent call last):
File ".tox/py27/bin/wal-e", line 5, in <module>
from pkg_resources import load_entry_point
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2927, in <module>
@_call_aside
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2913, in _call_aside
f(*args, **kwargs)
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 637, in _build_master
return cls._build_from_requirements(__requires__)
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages/pkg_resources/__init__.py", line 834, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (google-gax 0.12.3 (/home/fdr/code/wal-e/.tox/py27/lib/python2.7/site-packages), Requirement.parse('google-gax==0.12.2'), set(['gax-google-logging-v2', 'gax-google-pubsub-v1']))
Rather suspiciously, google-gax 0.12.3 was released today.
gcloud-python looks for google-gax >= 0.12.1 so you should be able to install 0.12.2 first to avoid the issue.
A fresh install for me works just fine. pip install gcloud.
Is it possible that something else you're using is causing the conflict, pulling in other versions of google-gax?
It's enough enough to install it, for me, that works fine. The tests run fine as well. What breaks is creating after creating a "console script" in setup.py, it'll crash with the stack trace I reported.
@tseaver This was done deliberately, since we are still pre-beta and changes to google-gax could still be breaking for the generated surfaces. I believe the google-gax 0.12.3 changes might be mildly breaking, since @geigerj changed how timeouts work a bit. I suggest that gcloud-python also do hard pins for now, at least until we declare beta.
@geigerj When you get a chance, can you push new versions of gax-google-pubsub-v1 and gax-google-logging-v2 that depend on google-gax 0.12.3? Thanks.
@bjwatson ISTM that semver would imply that 0.12.3 should not break anything that worked on 0.12.2: a breaking change should bump to 0.13.0. If that pattern were in place, we could be pinning something like google-gax >= 0.12.1, < 0.13.dev.
I've uploaded new versions of gax-google-{pubsub-v1,logging-v2} that are pegged to google-gax 0.12.3 -- that at least should let the tox environment create correctly (for now). I'm still finishing up some work on our packaging tool that will include relaxing the version requirement to >= 0.{x}.{y}, < 0.{x+1}.0, so that should be coming soon.
Activity
[-]new gax breaks pip install?[/-][+]new gax breaks pip installed console scripts[/+]daspecster commentedon Jul 13, 2016
gcloud-pythonlooks forgoogle-gax >= 0.12.1so you should be able to install0.12.2first to avoid the issue.A fresh install for me works just fine.
pip install gcloud.Is it possible that something else you're using is causing the conflict, pulling in other versions of
google-gax?@tseaver WDYT?
fdr commentedon Jul 13, 2016
It may be more a problem in google-gax, or other related dependencies:
Perhaps they pushed an incomplete release for a series of related packages?
daspecster commentedon Jul 15, 2016
@fdr did you have any luck resolving this? Installing
gcloudlocally works for me.fdr commentedon Jul 15, 2016
It's enough enough to install it, for me, that works fine. The tests run fine as well. What breaks is creating after creating a "console script" in setup.py, it'll crash with the stack trace I reported.
fdr commentedon Jul 15, 2016
The problem is definitely some of these packages requiring older gax, such as. https://pypi.python.org/pypi/gax-google-logging-v2 and https://pypi.python.org/pypi/gax-google-pubsub-v1. I don't know how this dependency is getting pulled in, but anything that does recursively pull these in along with the newer google-gax package cannot create a setuptools console program that works.
tseaver commentedon Jul 15, 2016
We are pinning
google-gax >= 0.12.1, butgoogle-gax-pubsub-v1andgoogle-gax-logging-v2pingoogle-gax == 0.12.1. Those pins need to be relaxed./cc @bjwatson, @tbetbetbe
theacodes commentedon Jul 15, 2016
GoogleCloudPlatform/psq is affected by this as well.
bjwatson commentedon Jul 15, 2016
@tseaver This was done deliberately, since we are still pre-beta and changes to
google-gaxcould still be breaking for the generated surfaces. I believe thegoogle-gax 0.12.3changes might be mildly breaking, since @geigerj changed how timeouts work a bit. I suggest thatgcloud-pythonalso do hard pins for now, at least until we declare beta.@geigerj When you get a chance, can you push new versions of
gax-google-pubsub-v1andgax-google-logging-v2that depend ongoogle-gax 0.12.3? Thanks.tseaver commentedon Jul 16, 2016
@bjwatson ISTM that semver would imply that
0.12.3should not break anything that worked on0.12.2: a breaking change should bump to0.13.0. If that pattern were in place, we could be pinning something likegoogle-gax >= 0.12.1, < 0.13.dev.bjwatson commentedon Jul 16, 2016
@tseaver Semver actually says nothing about 0.x version ("4. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable."). However, we discussed this and decided to do exactly as you're proposing while we remain in 0.x. We were going to propose that you use exactly that compound version dependency, and we will use the same.
geigerj commentedon Jul 18, 2016
I've uploaded new versions of
gax-google-{pubsub-v1,logging-v2}that are pegged togoogle-gax 0.12.3-- that at least should let thetoxenvironment create correctly (for now). I'm still finishing up some work on our packaging tool that will include relaxing the version requirement to>= 0.{x}.{y}, < 0.{x+1}.0, so that should be coming soon.tseaver commentedon Jul 18, 2016
@fdr can you check that @geigerj has fixed your issue with the new releases?
fdr commentedon Jul 21, 2016
Can confirm that a fresh installation works.
Allow a range of point versions for gax-python
Allow a range of point versions for gax-python (#79)
chore(python): add requirements for docs build (#1979)
feat: add `bigframes.pandas.options.display.precision` option (#1979)