web2py外部库

Pet*_*ter 3 python web2py

如何在web2py中导入其他外部库?是否可以在静态文件中加载lib?有人可以举个例子吗?谢谢

彼得

Rom*_*aev 5

如果库附带了python,那么你可以像在常规python脚本中那样使用import.您可以将import语句放入模型,控制器和视图,以及您自己的python模块(存储在modules文件夹中).例如,我经常使用traceback模块来记录控制器中的堆栈跟踪:

import traceback

def myaction():
    try:
        ...
    except Exception as exc:
        logging.error(traceback.format_exc())
        return dict(error=str(exc))
Run Code Online (Sandbox Code Playgroud)

如果库没有附带python(例如,pyodbc),那么你必须安装该库(使用distutils或easy_install或pip),以便python可以找到它并从源代码运行web2py:python web2py.py.然后,您将能够使用如上所述的常规导入语句.在执行此操作之前,请确保已正确安装库:运行python interpreter并键入"import library_name".如果你没有得到任何错误,你就可以去了.

如果你有第三方python模块或包,你可以将它放到modules文件夹并导入它,如下所示:

mymodule = local_import('module_name')
Run Code Online (Sandbox Code Playgroud)

您还可以通过设置reload选项强制web2py在每次执行local_import时重新加载模块:

mymodule = local_import('module_name', reload=True)
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅http://web2py.com/book/default/section/4/18?search=site-packages.