Google-cloud-python: Can't install: grpc

Created on 1 Sep 2016  路  20Comments  路  Source: googleapis/google-cloud-python

Once again, another packaging problem introduced via dependency.

https://travis-ci.org/wal-e/wal-e/builds/156938683

  Could not find a version that satisfies the requirement grpc>=1.0.0 (from googleapis-common-protos->gcloud==0.17.0) (from versions: 0.3.post10, 0.3.post11, 0.3.post12, 0.3.post13, 0.3.post14, 0.3.post15, 0.3.post16, 0.3.post17, 0.3.post18, 0.3.post19)

Notably, this commit is a readme-only change, following yet another text-only change that succeeded three days ago.

bug packaging

Most helpful comment

Here's the error we're getting when just trying install grpc at all to debug

root@44e8cdd435a5:/app# pip3 install grpc
Collecting grpc
  Using cached grpc-0.3-19.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-84l1xjl8/grpc/setup.py", line 7, in <module>
        version_tuple = __import__('grpc').VERSION
      File "/tmp/pip-build-84l1xjl8/grpc/grpc/__init__.py", line 6, in <module>
        from .rpc import *
      File "/tmp/pip-build-84l1xjl8/grpc/grpc/rpc.py", line 141
        except OSError, ex:
                      ^
    SyntaxError: invalid syntax

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-84l1xjl8/grpc/

All 20 comments

Thanks for letting us know @fdr!
There were some changes to googleapis-common-protos recently.

@bjwatson, is this a change from a recent update to googleapis-common-protos?

@daspecster Yes, I just pushed a 1.3.0 version built with gRPC 1.0.0 GA, and including the LRO service methods. I'll double check the grpc dependency, and push 1.3.1 if it's broken.

@fdr Sorry for the trouble. We'll get this fixed soon.

Here's the error we're getting when just trying install grpc at all to debug

root@44e8cdd435a5:/app# pip3 install grpc
Collecting grpc
  Using cached grpc-0.3-19.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-84l1xjl8/grpc/setup.py", line 7, in <module>
        version_tuple = __import__('grpc').VERSION
      File "/tmp/pip-build-84l1xjl8/grpc/grpc/__init__.py", line 6, in <module>
        from .rpc import *
      File "/tmp/pip-build-84l1xjl8/grpc/grpc/rpc.py", line 141
        except OSError, ex:
                      ^
    SyntaxError: invalid syntax

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-84l1xjl8/grpc/

^^ seems like a compatibility issue with python3. "pip install grpc" seems to work fine.

@bjwatson the drones you are looking for are grpcio, not grpc.

Ditto on @fdr . Facing this, too, while building a project locally. Same failure with gcloud 0.13, gcloud 0.17, and gcloud 0.18.1.

@tseaver Roger. Just filed https://github.com/googleapis/packman/pull/105 to fix the underlying issue, and am about to build 1.3.1.

+1 on this. getting errors in local pip installs and in glcoud builds.

Should now be fixed. I pushed https://pypi.python.org/pypi/googleapis-common-protos 1.3.1 with the correct grpcio 1.0.0 dependency.

Works for me.

Works for me as well in a python3.4 virtualenv.

pip install --upgrade googleapis-common-protos

@fdr?

Working for me

I have been deploying gloud-python to appengine (using google.appengine.ext.vendor) and at some point since yesterday gcloud has stopped importing properly. Here is the stack trace

from gcloud import datastore
  File "/base/data/home/apps/s~REDACTED/lib/gcloud/datastore/__init__.py", line 53, in <module>
    from gcloud.datastore.batch import Batch
  File "/base/data/home/apps/s~REDACTED/lib/gcloud/datastore/batch.py", line 24, in <module>
    from gcloud.datastore import helpers
  File "/base/data/home/apps/s~REDACTED/lib/gcloud/datastore/helpers.py", line 24, in <module>
    from google.type import latlng_pb2
  File "/base/data/home/apps/s~REDACTED/lib/google/type/latlng_pb2.py", line 78, in <module>
    import grpc
  File "/base/data/home/apps/s~REDACTED/lib/grpc/__init__.py", line 37, in <module>
    from grpc._cython import cygrpc as _cygrpc
ImportError: dynamic module does not define init function (initcygrpc)

Could this be related to the issue above?

@natb1, that could be related I suppose but I would think that the issue would be resolved now.
What version of gcloud-python are you installing?

gcloud==0.18.1

@natb1, does the local dev server seem to work?

I'm wondering if the library is cached on the app engine side somehow.

the dev server gives a different error from a different gcloud import. I couldn't tell you if it's a new issue that's related because I don't normally use the dev server.

root@505e6f3ef25d:/usr/src/app/src/main/python# dev_appserver.py gateway
INFO     2016-09-02 16:51:09,585 devappserver2.py:769] Skipping SDK update check.
WARNING  2016-09-02 16:51:09,636 simple_search_stub.py:1146] Could not read search indexes from /tmp/appengine.None.root/search_indexes
INFO     2016-09-02 16:51:09,649 api_server.py:205] Starting API server at: http://localhost:46807
INFO     2016-09-02 16:51:09,702 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO     2016-09-02 16:51:09,704 admin_server.py:116] Starting admin server at: http://localhost:8000
ERROR    2016-09-02 16:51:12,425 wsgi.py:263] 
Traceback (most recent call last):
  File "/root/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/root/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/root/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/usr/src/app/src/main/python/gateway/api.py", line 10, in <module>
    import topics
  File "/usr/src/app/src/main/python/gateway/topics.py", line 4, in <module>
    from gcloud import pubsub
  File "/usr/src/app/src/main/python/gateway/lib/gcloud/pubsub/__init__.py", line 26, in <module>
    from gcloud.pubsub.client import Client
  File "/usr/src/app/src/main/python/gateway/lib/gcloud/pubsub/client.py", line 19, in <module>
    from gcloud.client import JSONClient
  File "/usr/src/app/src/main/python/gateway/lib/gcloud/client.py", line 20, in <module>
    from gcloud._helpers import _determine_default_project
  File "/usr/src/app/src/main/python/gateway/lib/gcloud/_helpers.py", line 28, in <module>
    from google.protobuf import timestamp_pb2
  File "/root/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 999, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named google.protobuf
INFO     2016-09-02 16:51:12,439 module.py:788] default: "GET /_ah/warmup HTTP/1.1" 500 -

we're tracking app engine support (or rather the lack of) over at #1893

shucks

@fdr and @natb1. I'm going to close this for now since it seems the original issue was resolved.

Was this page helpful?
0 / 5 - 0 ratings