skyzeio / Skyze

Skyze Trading Engine Early Prototyping .... done as a single app with messaging between components ... will convert to the services architecture where components = Services and messaging = Asynch Messaging with Pub/Sub Pattern
GNU General Public License v3.0
10 stars 9 forks source link

Google App Engine with Pyenv .... or Python 3 .... May be a real problem #34

Open mikenew opened 6 years ago

mikenew commented 6 years ago

https://rrees.me/2017/02/12/using-google-app-engine-with-pyenv/

mikenew commented 6 years ago

https://unix.stackexchange.com/questions/122874/what-should-someone-know-about-using-python-scripts-in-the-shell

mikenew commented 6 years ago

GAE on using python libraries and managing dependencies

https://cloud.google.com/appengine/docs/flexible/python/using-python-libraries

mikenew commented 6 years ago

OK .. Created a requirements.txt and an app.yaml file which seems to work

Yaml runtime: python

Get the following error when I try to test it on the GAE dev server:

/Skyze$ dev_appserver.py $PWD
WARNING  2017-10-08 01:45:13,826 application_configuration.py:190] The "python" runtime specified in "/home/skyzetrading/src/skyze-market-data-updater/Skyze/app.yaml" is not supported - the "py
thon27" runtime will be used instead. A description of the differences between the two can be found here:
https://developers.google.com/appengine/docs/python/python25/diff27
INFO     2017-10-08 01:45:13,842 devappserver2.py:105] Skipping SDK update check.
INFO     2017-10-08 01:45:13,880 api_server.py:300] Starting API server at: http://0.0.0.0:39821
INFO     2017-10-08 01:45:13,903 dispatcher.py:251] Starting module "default" running at: http://0.0.0.0:8080
INFO     2017-10-08 01:45:13,904 admin_server.py:116] Starting admin server at: http://0.0.0.0:8000
mikenew commented 6 years ago

Tried python 3 on dev server with yaml: runtime: python3

Get the don't support python 3 error:

Last line of error is supported runtimes are 'custom', 'go', 'java', 'java7', 'java8', 'php55', 'python', 'python-compat', 'python27'

error:


INFO     2017-10-08 01:57:38,751 devappserver2.py:105] Skipping SDK update check.
INFO     2017-10-08 01:57:38,791 api_server.py:300] Starting API server at: http://0.0.0.0:60638
INFO     2017-10-08 01:57:38,791 api_server.py:956] Applying all pending transactions and saving the datastore
INFO     2017-10-08 01:57:38,792 api_server.py:959] Saving search indexes
Traceback (most recent call last):
  File "/google/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 103, in <module>
    _run_file(__file__, globals())
  File "/google/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 97, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 346, in <module>
    main()
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 334, in main
    dev_server.start(options)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 163, in start
    options.api_host, apiserver.port, wsgi_request_info_)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 247, in start
    _service = self._create_module(module_configuration, service_port)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 360, in _create_module
    threadsafe_override=threadsafe_override)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1247, in __init__
    super(AutoScalingModule, self).__init__(**kwargs)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 566, in __init__
    self._module_configuration)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 223, in _create_instance_factory
    sorted(repr(k) for k in runtime_factories.FACTORIES))))
RuntimeError: Unknown runtime 'python3'; supported runtimes are 'custom', 'go', 'java', 'java7', 'java8', 'php55', 'python', 'python-compat', 'python27'.```
mikenew commented 6 years ago

OK from GAE Python Environment doco see below.

Can run python35 in the flexible env though it may note be available on the free plan??

I have a call in with google

Standard environment

ISSUE HERE as Network access is Only via App Engine services (includes outbound sockets), and only for billing-enabled Python, Go, and PHP applications. (https://cloud.google.com/appengine/docs/the-appengine-environments)

Flexible environment

The flexible environment is optimal for applications with the following characteristics:

Pricing | Based on usage of vCPU, memory, and persistent disks Issue with pricing as the free trial is in instance hours???? https://cloud.google.com/appengine/docs/the-appengine-environments

mikenew commented 6 years ago

OK so GAE standard supports 2.7 only .... GAE flexible supports 2.7 and 3.5 ....

Though flex may not be under GCS's free offerings ... and standard may not have the needed internet access ....

Have submitted a ticket with GCS support