Кажется, проблема с этим Quickstart, я попытался воспроизвести его, и я получил ту же ошибку.
Я искал компоненты, запустив это:
gcloud components list
И нет компонента app-engine-python3
для последней версии Cloud SDK (239.0.0).
В любом случае, компонент app-engine-python
уже имеет Python 3. Поэтому для использования Python 3 необходимо установить этот компонент:
gcloud components install app-engine-python
И затем использовать команду python3
вместо команды python
Например:
python3 main.py
технически вся информация, необходимая людям для создания новой JVM, находится в общедоступных спецификациях языка и целевая платформа. JVM должна вести себя по-разному в зависимости от того, предназначена ли она для запуска на настольном компьютере или мобильном телефоне, даже если интерпретация байт-кода будет в значительной степени идентична.
Несколько мест, где можно начать поиск информации:
http : //en.wikipedia.org/wiki/List_of_Java_virtual_machines
Чтение «Спецификации виртуальной машины Java» Тимом Линдхольмом
http://www.jcp.org/en/jsr/detail?id=30
Из того, что я видел в реализации JVM от Sun, IBM или небольших компаний, таких как Esmertec,
Я понимаю, что в настоящее время крупные игроки лицензируют библиотеку Java от Sun. Затем они добавляют свои собственные уточнения. Основным отличием между реализациями является компилятор байт-кода-> машинного кода.
С одной стороны, вы можете взглянуть на Apache Harmony Они пришли долгий путь, поэтому история их проекта может дать вам хорошее представление о необходимых усилиях. Я бы сам не поспорил, что это возможно для одного парня
JVM ручной работы была бы отличным способом узнать о виртуальных машинах в целом, о проблемах проектирования языка программирования (через спецификация JVM), а также тщательность синтаксического анализа и т. д.
Если вы решите взять его в этом направлении, вы также можете исследовать оптимизации, что может стать интересным, и вы можете взять исследовательские работы и реализовать их алгоритмы.
При этом, если вас меньше интересует долгая и трудная задача создания виртуальной машины с нуля, вы можете изменить существующую виртуальную машину с открытым исходным кодом, например Kaffe . Он покажет вам, что делает виртуальная машина, но не обязательно, как работает код Java в JVM от Sun:
Kaffe - это реализация виртуальной машины Java в чистой комнате,