Use python 2 bibliotecas

python 2.7 / 3 | Java 8/11 | Php | Ruby | Vá 1.11 / 1.12 + | Node.js

Você pode usar as bibliotecas de terceiros que são código Python exclusivo sem extensões C. Para isso, copie a biblioteca no diretório do aplicativo. Se a biblioteca de terceiros já estiver integrada e embalada com o ambiente de execução, poderá usá-lo sem copiá-lo em seu aplicativo.

Bibliotecas de terceiros devem ser implementados como código Python exclusivo sem extensões C. Se copiado no diretório de sua inscrição, eles são considerados para compartilhamentos de arquivos, uma vez que a biblioteca é carregada para o aplicativo App junto com o código do aplicativo.

copie uma biblioteca de terceiros

para Use uma biblioteca de terceiros que não esteja na lista de bibliotecas integradas e embalada com o ambiente de execução, faça o seguinte:

  1. Criar um diretório para armazenar as bibliotecas de terceiros, como lib/.

    mkdir lib
  2. USA PIP (versão 6 ou posterior) com A marca -t <directory> para copiar as bibliotecas na pasta criada na etapa anterior. Por exemplo:

    pip install -t lib/ <library_name>

    você usa homebrew para python em macos?

    homebrew problemas

    Se você usar o Homebrew para Python em MacOS, uma exceção pode surgir quando você executar pip install -t. Esse problema está relacionado a um problema de instalação homebrew conhecido (consulta ) das configurações do Python que tem homebrew. Para resolver esse problema, crie um arquivo ~/.pydistutils.cfg No seu diretório principal temporariamente com o seguinte conteúdo:

    prefix=

    Certifique-se de remover este arquivo após a instalação de pacotes para o seu aplicativo App Engine, conforme Impedir que você instale pacotes fora deste contexto.

    Accept

  3. Crie um arquivo chamado appengine_config.py Na mesma pasta que seu arquivo

  4. Edite o arquivo appengine_config.py e fornece diretório da sua biblioteca para o método .

    # appengine_config.pyfrom google.appengine.ext import vendor# Add any libraries install in the "lib" folder.vendor.add('lib')

    no arquivo appengine_config.py Anterior, presume-se que a pasta lib está localizada no diretório TRA Agora Em alguns casos, como testes de unidades, o diretório de trabalho atual pode ser diferente. Para evitar erros, você pode ir explicitamente ir ao caminho completo para a pasta lib com o seguinte:

use arquivos de requisitos pip com bibliotecas copiadas

pip pode ler uma lista de Bibliotecas que devem ser instaladas a partir de um arquivo, conhecidas como o arquivo de requisitos. Os arquivos de requisitos facilitam a configuração de um novo ambiente de desenvolvimento para o seu aplicativo e são atualizados para as novas versões da biblioteca.

Um arquivo de arquivo é um arquivo de texto com uma linha de biblioteca da biblioteca O nome do pacote e, opcionalmente , a versão para o pacote (o valor padrão é a última versão):

Flask==0.10Markdown==2.5.2google-api-python-client

Para instalar as bibliotecas de um arquivo de requisitos, use a marca -r Além da marca -t lib

pip install -t lib -r requirements.txt

Use um construído -in biblioteca de terceiros e embalado com o ambiente de execução

Se a biblioteca de terceiros estiver na lista de bibliotecas integradas e embaladas com o ambiente de execução do Python no aplicativo App, você só terá que especificá-lo em A diretiva de bibliotecas no . Por exemplo:

libraries:- name: PIL version: "1.1.7"- name: webob version: "1.1.1"

APP Engine fornece as bibliotecas solicitadas durante a implementação.

Use bibliotecas integradas e embaladas com o desenvolvimento local do servidor

Muitas das bibliotecas integradas que fornecem o ambiente de execução estão disponíveis automaticamente para o servidor de desenvolvimento local. Para instalar algumas bibliotecas localmente, você deve executar gcloud components install app-engine-python-extras Se o servidor de desenvolvimento local detectar que este componente é necessário, solicitará que você a instale. As seguintes bibliotecas integradas devem ser instaladas localmente para que você possa usá-las com o servidor de desenvolvimento local:

  • lxml
  • matlotlib
  • mysqldb
  • numpy
  • pil
  • cRCMOD
  • pycrypto
  • grpcio
  • protobuf

Você pode usar o comando PIP para instalar todos esses pacotes do índice Python Packet (PYPI).

sudo pip install lxml==2.3.5

De acordo com a sua plataforma, talvez seja necessário instalar ferramentas de assistência de compilação e fontes de Python para instalar essas bibliotecas.

  • No Linux, o Gerenciador de Pacotes pode fornecer a esses requisitos e, muitas vezes, você pode fornecer uma versão já compilada na biblioteca.
  • no Windows, os instaladores das versões já compilados são geralmente disponíveis.
  • em macos, as ferramentas de linha de comando do Xcode são necessárias para compilar alguns pacotes.

O servidor de desenvolvimento usa a versão do pacote que você instalou localmente, independentemente da versão especificada em . Se desejar, configure um virtualenv para que seu projeto forneça a versão exata do pacote. Observe que o VirtualenV é usado apenas para esses pacotes binários localmente e não estará disponível para sua inscrição, uma vez que seja implementado. Para adicionar bibliotecas adicionais de terceiros, use o método descrito em Instalar uma biblioteca.

USA Django no servidor de desenvolvimento local

django é uma estrutura de aplicativos da Web com todas as funções para Python. Ele fornece uma bateria completa de componentes intercambiáveis, como escritório, visualizações, middleware, componentes de modelos e muitos outros.

A interface de modelagem de dados Django não é compatível com o App Engine Data Warehouse. Você pode usar as bibliotecas de modelagem de dados do App Engine (DB ou NDB) em seus aplicativos Django.SIn, aplicativos Django de terceiros que usam a interface de modelagem de dados do Django, particularmente o aplicativo Django Administrador, pode não funcionar diretamente com o App Engine.

A biblioteca de modelagem de dados (DB) é a opção padrão. Para usar o Django com a API de armazenamento NDB, adicione 'google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware', para a entrada MIDDLEWARE_CLASSES no seu arquivo settings.py de Django. Recomenda-se inseri-lo na frente de qualquer outro tipo de middleware, uma vez que alguns outros middleware podem chamar o armazenamento de dados, e as chamadas não serão tratadas corretamente se esse middleware for chamado antes de obter. Mais informações Sobre o middleware django na documentação do projeto.

Para ativar o Django no seu aplicativo, especifique o aplicativo WSGI e a biblioteca Django em :

...handlers:- url: /.* script: main.app # a WSGI application in the main module's global scopelibraries:- name: django version: "1.4"

A variável de ambiente DJANGO_SETTINGS_MODULE deve ser configurado com o nome do seu módulo de configuração do Django, que geralmente é para ser 'settings', antes que os pacotes forem importados.

Se o módulo de configuração Django não for settings.py, configure a variável de ambiente Conforme apropriado no arquivo :

env_variables: DJANGO_SETTINGS_MODULE: 'myapp.settings'

Você também pode fazer isso em Seu código de python:

import os# specify the name of your settings moduleos.environ = 'myapp.settings'import django.core.handlers.wsgiapp = django.core.handlers.wsgi.WSGIHandler()

USA matplotlib No servidor de desenvolvimento local

matplotlib é uma biblioteca de layout que produz gráficos e números em uma variedade de formatos de imagem. No App Engine, os modos MatPlotlib interativos não são compatíveis e existem outras funções que não estão disponíveis. Isso significa que você não pode usar pyplot.show(), conforme sugerido em várias instruções MatPlotlib. Em vez disso, você deve usar pyplot.savefig() para gravar os dados da imagem na transmissão de saída, uma instância cStringIO.StringIO ou o Google Cloud Storage usando o armazenamento em nuvem da biblioteca Cliente.

MatPlotlib permite uma extensa personalização usando o arquivo de configuração matplotlibrc, que deve ser colocado no diretório de nível superior do aplicativo. Como alternativa, você pode definir a variável de ambiente em um caminho relativo ao diretório do seu aplicativo.

O backend padrão é AGG, que permite gravar arquivos De todos os formatos compatíveis: PNG (o formato padrão), RAW, PS, PDF, SVG e SVGZ. Se você permitir que a biblioteca PIL esteja disponível adicionando PIL para a seção de app.yaml, o backend da AGG também suportará automaticamente a escrita de formatos de imagem JPEG e TIFF.

MatPlotlib possui várias fontes que estão automaticamente disponíveis. Você pode usar fontes personalizadas se você fizer o upload deles no formato TTF junto com o aplicativo e configurar a variável de ambiente TTFPATH como a rota em que eles estão localizados, em relação ao diretório do aplicativo. Para mais informações, consulte a referência de .

Várias funções MatPlotlib não são compatíveis com o App Engine.Em particular, considere o seguinte:

  • nenhum diretório ~/.matplotlib. No entanto, existem locais alternativos para colocar o arquivo de configuração matplotlibrc, conforme descrito acima.
  • backends interativos e elementos da GUI não são compatíveis.
  • Backends de EMF, Cairo e GDK não são permitidos.
  • Não há armazenamento em cache e, portanto, vários mecanismos recalcam ou baixarão os dados que normalmente são cache. Digite os mecanismos de armazenamento específicos de cache que foram desativados, os dados de fontes que calcularam matplotlib.font_manager.FontManager.findfont, os dados de amostra que download matplotlib.cbook.get_sample_data e os dados financeiros que você faz o download matplotlib.finance.fetch_historical_yahoo
    • porque não há armazenamento em cache, não é possível ligar com asfileobj=False, a menos que examples.download seja definido para False
  • Todas as funções que invocam comandos externos foram desativados.
    • O uso de fontconfig foi desativado. As fontes são encontradas no mecanismo descrito acima.
    • O uso de látex não é permitido para renderização de texto. Definir text.usetex em True não funcionará.
    • O uso de um programa externo de sintetização PostScript não é suportado. Definir ps.usedistiller em ghostscript ou xpdf não funcionará.
    • O uso de um programa de codificação de vídeo externo é admitido. O método matplotlib.animation.Animation.save não funcionará e, portanto, o pacote matplotlib.animation não é útil.
    • não é permitido nem a função matplotlib.cbook.report_memory nem a classe .
  • a função foi desativado.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *