Google Appengine Standard Python 2.7: больше не удается запускать конечные точки Google на localhost dev_appserver.py - PullRequest
2 голосов
/ 04 февраля 2020

Работал на go работе над старым Python2 .7 стандартным проектом AppEngine Standard сегодня, но я не могу заставить конечные точки работать. Я скачал образец кода, чтобы увидеть, был ли мой проект виновником, но образец тоже не работает. https://cloud.google.com/endpoints/docs/frameworks/python/get-started-frameworks-python#run_local

dev_appserver.py --host 192.168.1.73 app.yaml --smtp_host=smtp.telus.net --smtp_port=25
INFO     2020-02-04 19:46:38,243 devappserver2.py:289] Skipping SDK update check.
INFO     2020-02-04 19:46:38,303 api_server.py:282] Starting API server at: http://localhost:45473
INFO     2020-02-04 19:46:38,325 dispatcher.py:267] Starting module "default" running at: http://192.168.1.73:8080
INFO     2020-02-04 19:46:38,326 admin_server.py:150] Starting admin server at: http://localhost:8000

Все начинается хорошо, но когда я достигаю конечной точки: / _ ах / api / echo / v1 / echo

Traceback (most recent call last):
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 311, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/main.py", line 19, in <module>
    import endpoints
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/__init__.py", line 33, in <module>
    from .apiserving import *
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/apiserving.py", line 71, in <module>
    from endpoints_management.control import client as control_client
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints_management/__init__.py", line 19, in <module>
    from . import auth, config, control, gen
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints_management/config/__init__.py", line 17, in <module>
    from .service_config import ServiceConfigException
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints_management/config/service_config.py", line 25, in <module>
    from apitools.base.py import encoding
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/apitools/base/py/__init__.py", line 23, in <module>
    from apitools.base.py.credentials_lib import *
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/apitools/base/py/credentials_lib.py", line 44, in <module>
    import fasteners
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/fasteners/__init__.py", line 23, in <module>
    from fasteners.lock import locked  # noqa
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/fasteners/lock.py", line 24, in <module>
    from fasteners import _utils
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/fasteners/_utils.py", line 39, in <module>
    from monotonic import monotonic as now  # noqa
  File "/home/mparkes/app_engine_projects/samples/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/monotonic.py", line 169, in <module>
    raise RuntimeError('no suitable implementation for this system: ' + repr(e))
INFO     2020-02-04 19:46:45,501 module.py:865] default: "GET /_ah/api/static/proxy.html?usegapi=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.xh-S9KbEGSE.O%2Fam%3DwQc%2Fd%3D1%2Fct%3Dzgms%2Frs%3DAGLTcCNaUSRWzhd71dAsiMVOstVE3KcJZw%2Fm%3D__features__ HTTP/1.1" 500 -
RuntimeError: no suitable implementation for this system: IOError(13, 'file not accessible')

Это как-то связано с тем, что поддержка python2 .7 была прекращена 1 января 2020 года? Для справки, мое приложение все еще нормально работает на Appengine, но я больше не смогу заниматься разработкой.

[EDIT] Google Cloud Версия:

Google Cloud SDK 279.0.0
alpha 2020.01.31
app-engine-python 1.9.88
app-engine-python-extras 1.9.88

[EDIT] Python:

Python 2.7.17 (default, Nov  7 2019, 10:07:09)
[GCC 7.4.0] on linux2

Если я перейду на Python 3, я потеряю конечные точки, и мне нужно будет полностью переписать код моего клиента.

Заранее спасибо.

1 Ответ

4 голосов
/ 05 февраля 2020

Я смог заставить это работать, используя более старую версию SDK, которую я имел.

google_appengine_1.6.63

Сделал свое дело. Я полагаю, что последняя версия Google Cloud SDK 279.0.0 & app-engine- python 1.9.88, которую я использовал, имеет проблему с dev_appserver.py

[EDIT]. Также обратите внимание, что следующая версия тоже работает

google_appengine_1.9.87

может показаться, что проблема с 1.9.88

Надеюсь, это поможет любому, у кого возникла такая же проблема.

...