Python google.appengine.api не найден в Ubuntu 18.04 - PullRequest
2 голосов
/ 11 июля 2019

Я пытаюсь настроить среду локального хоста, используя Ubuntu 18.04, используя conda, gcloud и python

Я выполнил следующие действия: https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu

И у меня запущена команда gcloud.

Следующий шаг для установки приложения Python библиотеки

gcloud components install app-engine-python

Но я получаю сообщение, что мне нужно выполнить эту команду

   sudo apt-get install google-cloud-sdk-app-engine-python

Я запускаю все из своей среды condaно я все еще получаю сообщение о том, что нижеуказанные библиотеки не могут быть найдены.

 from google.appengine.api import users

Любая подсказка

1 Ответ

2 голосов
/ 11 июля 2019

Для обновления самого SDK Google Cloud и / или для установки / обновления компонентов SDK требуются разрешения на запись в каталог установки, поэтому эти операции необходимо выполнять с тем же идентификатором пользователя, что и первоначальная установка SDK (необязательно root / sudo).

Обновления, выполняемые с помощью команд gcloud component, имеют только вышеуказанное требование.Кроме того, для обновлений с использованием диспетчера пакетов вашей системы требуется sudo, поскольку только суперпользователь может вносить изменения в систему с помощью диспетчера пакетов.

Ваш SDK был установлен с разрешениями sudo (sudo apt-get update && sudo apt-get install google-cloud-sdk в указанном вами рецепте), поэтомутакже использовать sudo при установке / обновлении компонентов SDK.

У вас есть 2 варианта:

  1. установить пакет google-cloud-sdk-app-engine-python.ИМХО, это имеет больше шансов на успех, особенно если в SDK были какие-то специфичные для Ubuntu настройки.Он также сохраняет вашу установку пакета Ubuntu "в здравом уме", в том смысле, что информация, предоставляемая менеджером пакетов, будет соответствовать тому, что фактически установлено в SDK.Однако есть и недостаток: вы будете полагаться на обновления пакета ubuntu, чтобы стать доступными для обновления вашего SDK и / или его компонентов, что может быть неудобным, если вам нужны такие обновления быстро.

  2. вы можете выполнить установку / обновление компонентов SDK с помощью команд gcloud.Но это было бы совершенно неизвестно для управления пакетами Ubuntu.И вы можете столкнуться с проблемами, если есть специфичные для Ubuntu настройки, поскольку они не будут известны самому SDK.

Существует 3-й вариант, возможно,немного более утомительно, что я и выбрал (я использую opensuse).Вы можете скачать и установить стандартную linux-версию SDK, которая является автономной в том смысле, что она не имеет отношения к менеджеру пакетов (поэтому вам фактически не нужен sudo, SDK можно установить как обычный пользователь).Вы можете найти различные версии SDK здесь (обычные tar.gz архивы).

Я предпочитаю этот третий подход, потому что установка содержится в каталоге, поэтому я могу установить несколько версий SDK одновременно и легко переключаться между ними, просто манипулируя символическими ссылками.В этом случае установка / обновление компонентов будет применяться к любой «текущей» установке SDK.Мне даже удавалось поддерживать работоспособность установок при полной переустановке ОС (SDK были в отдельном разделе, нежели ОС).

...