简体   繁体   中英

ImportError: cannot import name 'types' from 'google.cloud.vision' though I have google cloud vision installed

I have installed google-cloud-vision library following the documentation. It is for some reason unable to import types from google.cloud.vision . It worked fine on my pc, now when I shared with my client, he had a problem with imports though he has the library installed via pip. Here's the line that throws error:

from google.cloud import vision
from google.cloud.vision import types # this line throws error

Any idea how to resolve this issue?

Use from google.cloud.vision_v1 import types instead of from google.cloud.vision import types . I have get this by exploring the init.py file and it works.

Types module has been removed from google.cloud.vision from 2.0.0. You can access all the types from vision.

https://googleapis.dev/python/vision/latest/UPGRADING.html#enums-and-types

Before:

from google.cloud import vision_v1

likelihood = vision_v1.enums.Likelihood.UNKNOWN
request = vision_v1.types.GetProductSetRequest(name="name")

After:

from google.cloud import vision_v1

likelihood = vision_v1.Likelihood.UNKNOWN
request = vision_v1.GetProductSetRequest(name="name")

It's probably because there's some version mismatch (or less likely there's other library(s) with the same name). Have your client use a virtual environment. This should resolve the issue.

PS You'll have to provide him with a requirements.txt file (obtained from pip3 freeze ) so that he can do a pip3 install -r requirements.txt on his virtual environment to have the exact same packages as yours.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM