Utilizați biblioteci Python 2

Python 2.7 / 3 | Java 8/11 | PHP | Ruby | Du-te 1.11 / 1.12 + | NODE.JS

Puteți utiliza bibliotecile terțe care sunt codul exclusiv al Python fără extensii C. Pentru aceasta, copiați biblioteca în directorul de aplicații. Dacă biblioteca terță parte este deja integrată și ambalată cu mediul de execuție, îl puteți utiliza fără ao copia pe aplicația dvs.

Bibliotecile terțe ar trebui să fie implementate ca cod Python exclusiv fără extensii C. Dacă copiat în directorul aplicației dvs., acestea sunt luate în considerare pentru acțiunile de fișiere, deoarece biblioteca este încărcată în motorul APP împreună cu codul de aplicare.

Copiați o bibliotecă terță parte

la Utilizați o bibliotecă terță parte care nu se află în lista de biblioteci integrate și ambalate cu mediul de execuție, procedați în felul următor:

  1. Creați un director pentru a stoca bibliotecile terților, cum ar fi iv id = „49a0171136” .

    divid id = „434529EC3a”>

  2. Statele Unite ale Americii (versiunea 6 sau mai târziu) cu Mark -t <directory> Pentru a copia bibliotecile din dosarul pe care l-ați creat în pasul anterior. De exemplu:

    pip install -t lib/ <library_name>

    folosiți homebrew pentru Python în MacOS?

    homebrew probleme

    Dacă utilizați homebrew pentru Python în MacOS, poate apărea o excepție atunci când rulați pip install -t. Această problemă este legată de o problemă cunoscută de instalare homebrew (interogare Note on pip install --user) a setărilor Python care are homebrew. Pentru a rezolva această problemă, creați un fișier ~/.pydistutils.cfg în directorul principal temporar cu următorul conținut:

    prefix=

    Asigurați-vă că eliminați acest fișier după instalarea pachetelor pentru motorul aplicației aplicației, așa cum va fi Îți împiedicați instalarea pachetelor din acest context.

    DIV>

    Accept

  3. Creați un fișier numit appengine_config.py în același folder pe care fișierul tău app.yaml.

  4. editați fișierul appengine_config.py și oferă directorul dvs. de bibliotecă la metoda vendor.add().

    iv id = „88efad9651”

în fișierul appengine_config.py anterioare, se presupune că folderul lib este situat în directorul TRA Sus acum În unele cazuri, cum ar fi testarea unităților, directorul de lucru curent poate fi diferit. Pentru a evita erorile, puteți merge în mod explicit la calea completă la folderul lib cu următoarele:

vendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib'))

Utilizare Cerințe Fișiere pip cu biblioteci copiate

pip poate citi o listă de la biblioteci care trebuie instalate dintr-un fișier, cunoscute sub numele de fișier de cerințe. Cerințe Fișierele facilitează configurația unui nou mediu de dezvoltare pentru aplicația dvs. și sunt actualizate la noile versiuni de bibliotecă.

Un fișier de fișier este un fișier text cu o linie de bibliotecă de bibliotecă numele pachetului și, opțional , versiunea pachetului (valoarea implicită este cea mai recentă versiune):

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

Pentru a instala bibliotecile de la un fișier de cerințe, utilizați marcajul -r În plus față de marcaj -t lib

Utilizați o construcție – în biblioteca terță parte și ambalate cu mediul de execuție

dacă biblioteca terță parte se află în lista de biblioteci integrate și ambalate cu mediul de funcționare Python pe motorul aplicației, trebuie doar să o specificați Directiva bibliotecilor din app.yaml. De exemplu:

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

App Motor furnizează automat bibliotecile solicitate în timpul implementării.

Utilizați biblioteci integrate și ambalate cu dezvoltarea locală a serverului

Multe dintre bibliotecile integrate care oferă mediul de executare sunt disponibile automat pentru serverul de dezvoltare locală. Pentru a instala unele biblioteci la nivel local, trebuie să rulați gcloud components install app-engine-python-extras. Dacă serverul de dezvoltare locală detectează că această componentă este necesară, vă va cere să o instalați. Următoarele biblioteci integrate trebuie să fie instalate la nivel local, astfel încât să le puteți utiliza cu serverul de dezvoltare locală:

  • lxml
  • matpotlib
  • mysqldb
  • Protocio
  • protocio
  • protocuf

Puteți utiliza comanda PIP pentru a instala toate aceste pachete din indicele de pachete Python (PYPI).

sudo pip install lxml==2.3.5

Potrivit platformei dvs., este posibil să fie necesar să instalați instrumente de asistență de compilare și surse Python pentru a instala aceste biblioteci.

  • În Linux, managerul de pachete poate furniza aceste cerințe și, de multe ori, puteți furniza o versiune deja compilată din bibliotecă.
  • În Windows, instalatorii versiunilor deja compilate sunt de obicei disponibile.
  • în MacOS, instrumentele de comandă ale XCODE sunt necesare pentru a compila unele pachete.

Serverul de dezvoltare utilizează versiunea pachetului pe care l-ați instalat la nivel local, indiferent de versiunea specificată în app.yaml. Dacă doriți, configurați un virtualenv astfel încât proiectul dvs. să furnizeze versiunea exactă a pachetului. Rețineți că Virtualenv este utilizat numai pentru aceste pachete binare la nivel local și nu va fi disponibil pentru cererea dvs. odată ce acesta este implementat. Pentru a adăuga biblioteci terțe suplimentare, utilizați metoda descrisă în instalarea unei biblioteci.

USA DJANGO pe serverul de dezvoltare locală

Django este un cadru de aplicații web cu toate funcțiile pentru Python. Acesta oferă o baterie completă de componente interschimbabile, cum ar fi biroul, vizualizările, middleware, componente șabloane și multe altele.

Interfața de modelare a datelor Django nu este compatibilă cu depozitul de date al aplicației. Puteți utiliza bibliotecile de modelare a datelor aplicației (DB sau NDB) în aplicațiile DJANGO.SIN, aplicațiile DJANGO al terților care utilizează interfața de modelare a datelor Django, în special aplicația Administrator Django, pot să nu funcționeze direct cu motorul APP.

Biblioteca de modelare a datelor (DB) este opțiunea implicită. Pentru a utiliza Django cu API de stocare NDB, Adăugați 'google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware', la intrarea MIDDLEWARE_CLASSES în fișierul dvs. settings.py din Django. Se recomandă introducerea în fața oricărui alt tip de middleware, deoarece unele intermediare ar putea să apeleze la magazinul de date, iar apelurile nu vor fi tratate corect dacă middleware-ul este invocat înainte de a obține. Mai multe informații Despre DJANGO Middleware în documentația de proiect.

Pentru a activa DJANGO pe aplicația dvs., specificați aplicația WSGI și Biblioteca Django din app.yaml:

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

Variabila de mediu DJANGO_SETTINGS_MODULE trebuie să fie configurat cu numele modulului dvs. de configurare Django, care este de obicei 'settings', înainte ca pachetele să fie importate.

Dacă modulul de configurare DJANGO nu este settings.py, configurați variabila de mediu , după caz, în fișierul app.yaml:

env_variables: DJANGO_SETTINGS_MODULE: 'myapp.settings'

Puteți face, de asemenea Codul dvs. de Python:

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

US matplotlib pe serverul de dezvoltare locală

Matlotlib Este o bibliotecă de aspect care produce grafică și cifre într-o varietate de formate de imagine. În motorul APP, modurile interactive Matplotlib nu sunt compatibile și există și alte funcții care nu sunt disponibile. Aceasta înseamnă că nu puteți utiliza pyplot.show(), așa cum este sugerat în mai multe instrucțiuni de MATPLOTLIB. În schimb, trebuie să utilizați pyplot.savefig() pentru a scrie datele imaginii în transmisia de ieșire, o instanță cStringIO.StringIO sau Google Cloud Storage folosind stocarea cloud-ului bibliotecii Client.

Matplotlib permite personalizarea extinsă utilizând fișierul de configurare matplotlibrc, care ar trebui să fie plasat în directorul superior al aplicației. În mod alternativ, puteți seta variabila de mediu într-o cale relativă la directorul aplicației dvs.

Backendul implicit este AGG, ceea ce vă permite să scrieți fișiere Dintre toate formatele compatibile: PNG (formatul implicit), Raw, PS, PDF, SVG și SVGZ. Dacă permiteți bibliotecii să fie disponibilă prin adăugarea PIL la secțiunea al app.yaml

Matplotlib are mai multe surse care sunt disponibile automat. Puteți utiliza fonturi personalizate dacă le încărcați în format TTF împreună cu aplicația și configurați variabila de mediu TTFPATH ca traseu în care acestea sunt situate, în raport cu directorul de aplicații. Pentru mai multe informații, consultați referința app.yaml.

Mai multe funcții de matlotlib nu sunt compatibile cu motorul aplicației.În special, luați în considerare următoarele:

  • nici un director ~/.matplotlib. Cu toate acestea, există locații alternative pentru a plasa fișierul de configurare matplotlibrc, așa cum s-a descris mai sus.
  • Bacends interactive și elementele GUI nu sunt compatibile.
  • Backendurile EMF, Cairo și GDK nu sunt permise.
  • Nu există stocare cache și, prin urmare, mai multe mecanisme vor recalcula sau descărca datele care în mod normal ar fi cache. Introduceți mecanismele specifice de stocare a cache-ului, care au fost dezactivate, datele din surse care calculează matplotlib.font_manager.FontManager.findfont, datele eșantionului care descarcă matplotlib.cbook.get_sample_data și datele financiare că descărcați matplotlib.finance.fetch_historical_yahoo. Pentru că nu există spațiu de stocare în cache, nu este posibil să sunați iv id = „b4333922fb” cu asfileobj=False, cu excepția cazului în care examples.download Fiți setat la False Li>
  • Toate funcțiile care invocă comenzi externe au fost dezactivate.
    • Utilizarea fontconfig a fost dezactivată. Sursele se găsesc în mecanismul descris mai sus.
    • Utilizarea latexului nu este permisă pentru redarea textului. Setați text.usetex în True Nu va funcționa.
    • Utilizarea unui program extern de sinteză PostScript nu este acceptat. Setați ps.usedistiller în ghostscript sau xpdf nu va funcționa.
    • Utilizarea unui program de codare video externă este admisă. Metoda matplotlib.animation.Animation.save nu va funcționa și, prin urmare, pachetul matplotlib.animation nu este util.
    • nu sunt permise, nici nu sunt permise Funcția matplotlib.cbook.report_memory și nici clasa matplotlib.cbook.MemoryMonitor.
    • Funcția matplotlib.test a fost dezactivată.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *