web2py внешние библиотеки - PullRequest
3 голосов
/ 25 мая 2010

как я могу импортировать другие внешние библиотеки в web2py? Это возможно загрузить libs в статический файл? кто-нибудь может дать мне пример? спасибо

Питер

Ответы [ 2 ]

5 голосов
/ 25 мая 2010

Если библиотека поставляется с Python, вы можете просто использовать импорт, как если бы вы использовали обычный скрипт Python. Вы можете поместить свои операторы импорта в свои модели, контроллеры и представления, а также в свои собственные модули Python (хранящиеся в папке модулей). Например, я часто использую модуль traceback для регистрации трассировки стека в моих контроллерах:

import traceback

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

Если библиотека не поставляется с python (например, pyodbc), вам придется установить эту библиотеку (используя distutils или easy_install или pip), чтобы python мог найти ее и запустить web2py из исходного кода: python web2py .py. Тогда вы сможете использовать обычные операторы импорта, как описано выше. Прежде чем сделать это, убедитесь, что вы правильно установили библиотеку: запустите интерпретатор python и введите «import library_name». Если вы не получили никаких ошибок, вы можете идти.

Если у вас есть сторонний модуль или пакет Python, вы можете поместить его в папку модулей и импортировать, как показано ниже:

mymodule = local_import('module_name')

Вы также можете заставить web2py перезагружать модуль каждый раз, когда local_import выполняется, установив параметр перезагрузки:

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

См. http://web2py.com/book/default/section/4/18?search=site-packages для получения дополнительной информации.

0 голосов
/ 25 мая 2010

В web2py вы импортируете внешнюю библиотеку, как обычно в Python

import module_name

или

from module_name import object_name

Я не уверен, что вы подразумеваете под "в статическом файле"

...