【发布时间】:2017-09-20 08:41:22
【问题描述】:
我在Visual Studio Code 中使用pylint 来开发Google App Engine (GAE) Cloud Endpoint API in Python。我无法解决 lint 错误。我不知道是什么导致了错误,但猜测是,pylint 找不到 protorpc 库?
Troubleshooting Linting 中推荐的修复方法是将工作区设置配置为指向完全限定的 python 可执行文件。我已经这样做了,但 lint 错误仍然存在。
protorpc 本身安装到:
~/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0/protorpc
...其中包含无法导入的remote.py 模块:
__init__.py generate_python.py protojson.py transport.py
definition.py google_imports.py protourlencode.py util.py
descriptor.py message_types.py registry.py webapp
generate.py messages.py remote.py wsgi
generate_proto.py protobuf.py static
我已将此路径添加到$PYTHONPATH(以及kitchen sink):
export GOOGLE_CLOUD_SDK=~/google-cloud-sdk
export APPENGINE_PATH=$GOOGLE_CLOUD_SDK/platform/google_appengine
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK/lib
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK/lib/googlecloudsdk
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK/lib/googlecloudsdk/api_lib
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK/platform/google_appengine/lib
export PYTHONPATH=$PYTHONPATH:$GOOGLE_CLOUD_SDK/platform/google_appengine/lib/protorpc-1.0/protorpc
应用程序在本地运行,并且在部署时也运行,所以这似乎只是一个 lint 错误,但令人沮丧的是我无法解决它。
Using third-party libraries 状态:
标准环境中的 Python 运行时包括 Python 标准库、App Engine 库和一些捆绑的 第三方包。
因此,我假设“App Engine 库”包括protorpc,但我不确定。此外,Adding the Cloud Endpoints Frameworks library to the sample API 只需要将 google-endpoints 安装到应用的 lib 目录:
pip install -t lib google-endpoints --extra-index-url=https://gapi-pypi.appspot.com/admin/nurpc-dev --ignore-installed
我的意思是,我认为我没有安装任何东西,我认为我的(网络)应用程序的 lib 目录中没有任何东西。
【问题讨论】:
-
如果莫拉德的帖子是答案,建议将其标记为更好地帮助社区的解决方案。如果您已经解决了问题,您也可以发布自己的答案并将其标记为解决方案。请注意,在 App Engine 中使用第三方库时,您必须vendor them 才能正确安装和使用它们。
标签: python python-2.7 google-app-engine visual-studio-code protorpc