Skip to content
This repository was archived by the owner on Mar 1, 2022. It is now read-only.
This repository was archived by the owner on Mar 1, 2022. It is now read-only.

GCloud dependency conflicts #102

@bjwatson

Description

@bjwatson

Steps to Reproduce

  1. virtualenv venv
  2. source venv/bin/activate
  3. pip install -e git+https://github.com/googleapis/artman#egg=remote
  4. start_conductor.py

Expected Result

The conductor successfully starts.

Actual Result

The following dependency conflict occurs:

Traceback (most recent call last):
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/bin/start_conductor.py", line 4, in <module>
    __import__('pkg_resources').require('googleapis-artman==0.1.0')
  File "/usr/local/buildtools/current/sitecustomize/sitecustomize.py", line 181, in SetupPathsAndImport
    return real_import(name, globals, locals, fromlist, level)
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2985, in <module>
    @_call_aside
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2971, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2998, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 662, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 675, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (grpc-google-logging-v2 0.9.3 (/usr/local/google/home/brianwatson/src/gapi-dev/googleapis/venv/lib/python2.7/site-packages), Requirement.parse('grpc-google-logging-v2<0.9.0,>=0.8.1'), set(['gax-google-logging-v2']))

Analysis

This is ultimately because the last release of gcloud (0.18.1) does not set upper bounds on their gax-google-* and grpc-google-* dependencies. Due to the rename of gax-google-* to gapic-google-*, its latest version is only 0.8.x. This is incompatible with the latest 0.9.x versions of grpc-google-*.

FYI @tseaver and @dhermes, if you could push a 0.18.2 version of gcloud that sets an upper bound of <0.9.0 on the gax-google-* and grpc-google-* dependencies, then this issue will be resolved.

The other fix is to migrate artman to google-cloud 0.19.x (the rename of gcloud), which I began in #101 and is captured as a feature request in #103.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions