2010-05-25 3 views
3

comment puis-je importer d'autres bibliothèques externes dans web2py? est-il possible de charger les librairies dans le fichier statique? quelqu'un peut-il me donner un exemple? merciweb2py bibliothèques externes

Peter

Répondre

0

En web2py vous importez bibliothèque externe comme vous le faites normalement en Python

import module_name 

ou

from module_name import object_name 

Je ne suis pas sûr de ce que vous entendez par « dans la statique fichier "

5

Si la bibliothèque est livrée avec python, alors yo Vous pouvez simplement utiliser l'importation comme vous le feriez dans un script python normal. Vous pouvez placer vos instructions d'importation dans vos modèles, contrôleurs et vues, ainsi que vos propres modules python (stockés dans le dossier modules). Par exemple, j'utilise souvent module retraçage pour se connecter traces de pile dans mes contrôleurs:

import traceback 

def myaction(): 
    try: 
     ... 
    except Exception as exc: 
     logging.error(traceback.format_exc()) 
     return dict(error=str(exc)) 

Si la bibliothèque n'est pas livré avec Python (par exemple, pyodbc), alors vous devrez installer cette bibliothèque (en utilisant distutils ou easy_install ou pip) pour que python puisse le trouver et lancer web2py à partir du code source: python web2py.py. Ensuite, vous serez en mesure d'utiliser une instruction d'importation régulière comme décrit ci-dessus. Avant cela, assurez-vous d'avoir installé la bibliothèque correctement: lancez l'interpréteur python et tapez "import library_name". Si vous n'obtenez aucune erreur, vous êtes prêt à partir.

Si vous avez un module python tiers ou package, vous pouvez le placer dans le dossier des modules et l'importer comme indiqué ci-dessous:

mymodule = local_import('module_name') 

Vous pouvez également forcer web2py à recharger le module chaque fois local_import est exécuté en réglant l'option de rechargement:

mymodule = local_import('module_name', reload=True) 

Voir http://web2py.com/book/default/section/4/18?search=site-packages pour plus d'informations. `Local_import` est maintenant obsolète.

+1

Voir http://stackoverflow.com/a/4676210/165673 – Yarin