【发布时间】:2017-11-24 04:02:03
【问题描述】:
对于应用程序,我必须使用 Google Vision API。
我可以使用from google.cloud import vision 并在我的计算机中进行图像分析。
但是,当我在开发服务器上部署我的应用程序时出现错误:
File "C:\MyApp\detect.py", line 26, in <module>
from google.cloud import vision
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\__init__.py", line 34, in <module>
__version__ = get_distribution('google-cloud-vision').version
File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 311, in get_distribution
if isinstance(dist,Requirement): dist = get_provider(dist)
File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 197, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
DistributionNotFound: google-cloud-vision
当我创建包含以下内容的 appengine_config.py 文件时:
from google.appengine.ext import vendor
vendor.add('C:\Anaconda2\Lib\site-packages')
我收到错误:
File "C:\Users\MyApp\detect.py", line 26, in <module>
from google.cloud import vision
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\__init__.py", line 36, in <module>
from google.cloud.vision.client import Client
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\client.py", line 23, in <module>
from google.cloud.vision._gax import _GAPICVisionAPI
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\_gax.py", line 17, in <module>
from google.cloud.gapic.vision.v1 import image_annotator_client
File "C:\Anaconda2\lib\site-packages\google\cloud\gapic\vision\v1\image_annotator_client.py", line 31, in <module>
from google.gax import api_callable
File "C:\Anaconda2\lib\site-packages\google\gax\__init__.py", line 36, in <module>
import multiprocessing as mp
File "C:\Anaconda2\lib\multiprocessing\__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "C:\Anaconda2\lib\multiprocessing\util.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportError: cannot import name _args_from_interpreter_flags
当我尝试以下链接中提到的 hack 时:
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/1893
https://github.com/googleapis/gax-python/issues/149
https://gist.github.com/nilleb/419122f2f6f1228650dd2dccbd01c5af
我收到错误:
File "C:\Users\MyApp\detect.py", line 11, in <module>
class DummyProcessing(ModuleType):
NameError: name 'ModuleType' is not defined
然后我按照这里的说明进行操作:https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27#copying_a_third-party_library
并使用了这个命令:
pip install -t lib google-cloud-vision==0.28.0
并更新appengine_config.py文件:
from google.appengine.ext import vendor
vendor.add('lib')
我收到错误:
File "C:\Users\MyApp\detect.py", line 26, in <module>
from google.cloud import vision
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\__init__.py", line 36, in <module>
from google.cloud.vision.client import Client
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\client.py", line 23, in <module>
from google.cloud.vision._gax import _GAPICVisionAPI
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\_gax.py", line 17, in <module>
from google.cloud.gapic.vision.v1 import image_annotator_client
File "C:\Anaconda2\lib\site-packages\google\cloud\gapic\vision\v1\image_annotator_client.py", line 31, in <module>
from google.gax import api_callable
File "C:\Anaconda2\lib\site-packages\google\gax\__init__.py", line 36, in <module>
import multiprocessing as mp
File "C:\Anaconda2\lib\multiprocessing\__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "C:\Anaconda2\lib\multiprocessing\util.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportError: cannot import name _args_from_interpreter_flags
然后我按照这里的说明进行操作: Using gcloud-python in GAE
并使用了这个命令:
pip install -t vendor google-cloud-vision==0.28.0
我从这里复制了 appengine_config.py 和 darth.py 文件:
https://github.com/dhermes/test-gcloud-on-gae/tree/8a850fb8b5676ca03e07c4f9dcfba5efb8c77b0a/application
我收到错误:
File "C:\Users\MyApp\detect.py", line 26, in <module>
from google.cloud import vision
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\__init__.py", line 36, in <module>
from google.cloud.vision.client import Client
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\client.py", line 23, in <module>
from google.cloud.vision._gax import _GAPICVisionAPI
File "C:\Anaconda2\lib\site-packages\google\cloud\vision\_gax.py", line 17, in <module>
from google.cloud.gapic.vision.v1 import image_annotator_client
File "C:\Anaconda2\lib\site-packages\google\cloud\gapic\vision\v1\image_annotator_client.py", line 31, in <module>
from google.gax import api_callable
File "C:\Anaconda2\lib\site-packages\google\gax\__init__.py", line 36, in <module>
import multiprocessing as mp
File "C:\Anaconda2\lib\multiprocessing\__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "C:\Anaconda2\lib\multiprocessing\util.py", line 41, in <module>
from subprocess import _args_from_interpreter_flags
ImportError: cannot import name _args_from_interpreter_flags
我不知道下一步该做什么。我现在完全被卡住了。
【问题讨论】:
-
你试过最后一个链接中给出的“肮脏的黑客”吗?听起来bug的根本原因是一样的。
-
我试过并更新了我的问题。看看吧。
标签: python google-cloud-platform google-cloud-vision