我在Visual Studio Code中使用pylint在 Python 中开发 Google App Engine (GAE) Cloud Endpoint API。我无法解决 lint 错误。我不知道是什么导致了错误,但猜测是,pylint找不到库?protorpc
故障排除 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
(连同厨房水槽):
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 错误,但令人沮丧的是我无法解决它。
使用第三方库说明:
标准环境中的 Python 运行时包括 Python 标准库、App Engine 库和一些捆绑的第三方包。
因此,我假设“App Engine 库”包括protorpc
,但我不确定。此外,将 Cloud Endpoints Frameworks 库添加到示例 API只需将 google-endpoints 安装到应用的 lib 目录:
pip install -t lib google-endpoints --extra-index-url=https://gapi-pypi.appspot.com/admin/nurpc-dev --ignore-installed
我的意思是,我不认为我没有安装任何东西,而且我认为我的(网络)应用程序的 lib 目录中没有任何遗漏。