Skip to content

Can't get this library to work with Google App Engine + Google Vision #3694

Closed
@99heitor

Description

@99heitor

Is it possible to use this library to interact with the Google Cloud Vision API from an app running on Google App Engine? I'm having some trouble.
Here is my error log when deploying the app:

...
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/queries/describe.py", line 7, in <module>
from google.cloud import vision
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/lib/google/cloud/vision/__init__.py", line 36, in <module>
from google.cloud.vision.client import Client
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/lib/google/cloud/vision/client.py", line 23, in <module>
from google.cloud.vision._gax import _GAPICVisionAPI
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/lib/google/cloud/vision/_gax.py", line 17, in <module>
from google.cloud.gapic.vision.v1 import image_annotator_client
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/lib/google/cloud/gapic/vision/v1/image_annotator_client.py", line 31, in <module>
from google.gax import api_callable
File "/base/data/home/apps/p~geckobutler/20170727t204339.402975065822476789/lib/google/gax/__init__.py", line 36, in <module>
import multiprocessing as mp
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/multiprocessing/__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/multiprocessing/util.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportStringError: import_string() failed for 'webhook_setup.WebHookHandler'. Possible reasons are:
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
Original exception:
ImportError: cannot import name _args_from_interpreter_flags
Debugged import:
- 'webhook_setup' not found.

It seems to be a problem similar to #3262 (which is closed and I can't reopen, since the original poster seems to have forgotten to do so). My setup is almost exactly as his, but I just installed google-cloud-vision instead of google-cloud, so that might be why the error message is slightly different.

I tried his solution with no luck.

I also tried forcing google/cloud/vision/client.py to use _HTTPVisionAPI.py as his internal vision API by altering the source code, commenting out

from google.cloud.vision._gax import _GAPICVisionAPI

and changing

        if self._vision_api_internal is None:
            if self._use_grpc:
                self._vision_api_internal = _GAPICVisionAPI(self)
            else:
                self._vision_api_internal = _HTTPVisionAPI(self)
        return self._vision_api_internal

to

        if self._vision_api_internal is None:
            self._vision_api_internal = _HTTPVisionAPI(self)
        return self._vision_api_internal

but I get the same error a few lines later:

...
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/queries/describe.py", line 7, in <module>
from google.cloud import vision
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/cloud/vision/__init__.py", line 36, in <module>
from google.cloud.vision.client import Client
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/cloud/vision/client.py", line 26, in <module>
from google.cloud.vision.image import Image
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/cloud/vision/image.py", line 22, in <module>
from google.cloud.vision._gax import _to_gapic_image
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/cloud/vision/_gax.py", line 17, in <module>
from google.cloud.gapic.vision.v1 import image_annotator_client
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/cloud/gapic/vision/v1/image_annotator_client.py", line 31, in <module>
from google.gax import api_callable
File "/base/data/home/apps/p~geckobutler/20170727t223024.402976768588087643/lib/google/gax/__init__.py", line 36, in <module>
import multiprocessing as mp
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/multiprocessing/__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/multiprocessing/util.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportStringError: import_string() failed for 'webhook_setup.WebHookHandler'. Possible reasons are:
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
Original exception:
ImportError: cannot import name _args_from_interpreter_flags
Debugged import:
- 'webhook_setup' not found.

Any ideas? Do I have to use the old google-api-python-client to interact with the Google Vision API on App Engine?

Metadata

Metadata

Assignees

Labels

api: visionIssues related to the Cloud Vision API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions