Extensões de ficheiro em falta a partir do Python Lambda Lambda de Dependência. Isso vai fazer com que o meu Função falhar?

0

Pergunta

Foi-me dado um .arquivo zip que tinha uma biblioteca externa chamada Python PDF Toolkit, muitas vezes abreviado como pdftk ou pypdftk.

Para o meu conhecimento atual, esta dependência externa foi construída sobre uma instância do EC2 de CentOS6, porque o pdftk tem a sua própria dependência chamado libgcj.

enter image description here

Como você pode ver na imagem, a maioria dos arquivos são Arquivos Executáveis Unix, e estão faltando as suas extensões de arquivo.

  1. Isso vai criar problemas no Lambda? Eu acredito que o pdftk precisa ser carregado como um Lambda Camada para ajudar a estender o padrão de núcleo de Biblioteca em Python.

  2. Se isso irá criar problemas para a execução de Lambda, existem alguns passos que pode tomar para encontrar as extensões de arquivo?

Por fim, eu posso editar esta questão e adicionar o código dentro desses arquivos, se você acreditar que vai ajudar.

RODA

Wheel-Version: 1.0
Generator: bdist_wheel (0.35.1)
Root-Is-Purelib: true
Tag: py2-none-any

Parece que isso não vai funcionar com Py3?

1

Melhor resposta

1

pypdftk é um wrapper para o pdftk binário. Então você precisa de 2 coisas:

  1. Instalar o pdftk binário como um Lambda Camada. Para mais detalhes veja aqui.
  2. Você também precisará do código python. Parece que este é apenas um arquivo python. Você pode copiá-lo diretamente ou seu código ou instalá-lo com o pip. Ele deve funcionar com o python 3.

Tiver sido fornecido com uma roda de pacote. As Chances são de que ele não vai funcionar com lambda e python 3, embora não seja impossível de configurar corretamente tudo. Deveria ser mais fácil de instalar pypdftk de binário e de dependências a partir do zero.

2021-11-22 21:09:55

a partir da compilação oficial do guia: pdflabs.com/docs/install-pdftk-on-redhat-or-centos eles sugerem o uso de CentOS 6, mas este Fim de Vida (EOL) em 2020. Devo fazer isso em CentOS6, mesmo se o seu EOL? ou tentar trabalhar com os mais recentes lançamentos?
Stephen Stilwell

Em primeiro lugar gostaria de tentar o pré-construído binários no github do projeto (github.com/inetsys/pdftk-aws-lambda). Os binários foram construídos em CentOS6. Eu teria, então, tentar criá-la no Amazon Linux 2. Isso pode ser mais difícil.
kgiannakakis

Ok. Eu era capaz de construir binários usando o GitHub do projeto e enviá-los como um lambda camada. Vou aceitar a sua resposta, mas eu ainda estou recebendo Runtime.ImportModuleError: Unable to import module
Stephen Stilwell

Verifique que tudo está carregado corretamente e se o nome do seu processador está correto. Seleção stackoverflow.com/questions/35340921/...
kgiannakakis

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................