Как выполнить установку apt-get внутри движка приложений Google

# #python-3.x #google-app-engine #google-cloud-platform #cloud #google-compute-engine

Вопрос:

Я развернул веб-приложение в движке приложений Google. Приложение получает файлы doc и docx, преобразует их в PDF, а затем загружает на Google Диск.

Проблема, с которой я сталкиваюсь, заключается в том, что Python использует библиотеку doc2pdf для преобразования файла doc в PDF. doc2pdf внутренне использует apt install libreoffice-writer -y библиотеку для преобразования в PDF.

Как я могу установить приложение apt install libreoffice-writer -y в движке приложений Google.

Любая помощь очень полезна.

Комментарии:

1. Если вы используете стандарт GAE, установка пакетов невозможна. Возможно, вы захотите использовать GAE Flex, который позволяет использовать образы Docker, после чего вы сможете установить необходимые пакеты

2. @FerreginaPelona — Опубликуйте свой комментарий со ссылкой на документ в качестве ответа.

3. Хорошо. Понял. Будет ли лучшей платформой для преобразования файлов doc и docx в PDF? Windows или Linux? можете ли вы упомянуть библиотеки, которые будут полезны для преобразования в Python?

4. Конечно, Джон Хэнли. @Prashantkumar K B, этот вопрос не по теме, так как он основан на мнении. Проверьте доступные библиотеки для обеих сред и выберите ту, которая лучше соответствует вашим требованиям.

5. Вы также можете попробовать Облачный запуск. Этот точный пример использования (использование libreoffice для преобразования документов в PDF) был демонстрацией пару лет назад .

Ответ №1:

Небольшое изменение в заявлении @FerreginaPelona — Новые среды выполнения стандарта GAE позволяют устанавливать сторонние библиотеки (см. Документацию Google — поиск «Поддерживает установку сторонних двоичных файлов»). На простом английском языке — если вы используете Python 3 по стандарту GAE, у вас могут быть пакеты сторонних производителей. Вы создаете requirements.txt файл, перечислите пакеты, и они будут установлены, когда ваш код будет запущен в производство.

Python 2 (более старая среда выполнения) также поддерживает определенные типы сторонних библиотек. Согласно документации, вы можете использовать только те библиотеки, которые есть …реализован в виде чистого кода на Python без расширений на языке Си…. Эта ссылка показывает, как добавить эти библиотеки в ваш проект.

Комментарии:

1. Python requirements.txt это не то же самое, что установка apt . Более старые среды выполнения ядра приложений поддерживали установку пакетов Python с помощью requirements.txt и еще.

2. @JohnHanley — Я предполагал, что doc2pdf будет использовать libreoffice-writer, если он присутствует, и будет выполнять установку apt только в том случае, если он не найдет пакет. Это, в свою очередь, означало, что ключом здесь была установка пакета libreoffice-writer (я решил, что это не имеет значения, как). Тогда это моя вина.