GAE сторонние библиотеки (например, MySQLdb) в стандартной среде - PullRequest
0 голосов
/ 12 сентября 2018

Я борюсь с использованием MySQLdb. В моем проекте (Python 2.7) у меня было:

import MySQLdb

В ответ: ImportError: No module named MySQLdb.

app.yaml :

libraries: 
- name: MySQLdb
  version: latest

Я обнаружил, что MySQLdb является частью предопределенных стандартных модулей. И все же я не мог решить это. Когда

pip install -t /lib MySQLdb

ответ был:

Сбор MySQLdb

Не удалось найти версию, которая удовлетворяет требованию MySQLdb (из версии:) Не найдено подходящего дистрибутива для MySQLdb

Итак, я следовал некоторым принципам и сделал так:

sudo apt-get install python-mysqldb

при установке я получил:

Вы используете apt-get внутри Cloud Shell. Обратите внимание, что ваше облако Машина Shell эфемерна, и никакие общесистемные изменения не будут сохраняться после окончания сеанса.

Действительно, эти изменения сохраняются только для диапазона сеанса.

Есть комментарии, предложения? Я делаю что-л. неправильно?

1 Ответ

0 голосов
/ 12 сентября 2018

Файл app.yaml используется только для вашего приложения при развертывании в App Engine.Он указывает некоторую конфигурацию только для вашего развернутого приложения.Итак, определив:

libraries:
- name: MySQLdb
  version: "latest"

, он в основном указывает платформе App Engine использовать эту встроенную библиотеку в экземпляре для запуска вашего кода.

Теперь, как объяснено здесь , на вашем локальном компьютере для разработки вам необходимо установить библиотеку самостоятельно.Вы можете сделать это, запустив:

pip install MySQL-python

Обратите внимание, что вам не нужно устанавливать эту библиотеку также в папку lib.Это необходимо только в том случае, если библиотека не указана во встроенных сторонних библиотеках 1013 *, поэтому библиотека загружается вместе с вашим приложением при его развертывании.Если он есть в списке, то ссылки на него в файле app.yaml достаточно.

Еще одна вещь об облачной оболочке.Это небольшой экземпляр виртуальной машины, предоставленный вам для облегчения управления ресурсами или тестирования.Это не предназначено для развития.Каждый раз при запуске устанавливается образ по умолчанию (таким образом любой установленный вами инструмент уровня библиотеки или ОС будет утерян).Только ваша домашняя папка копируется.Некоторые полезные инструменты установлены по умолчанию, но на образе, например, gcloud.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...