3

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

彼得

4

2 回答 2

5

如果该库随 python 一起提供,那么您可以像在常规 python 脚本中那样使用 import。您可以将导入语句放入您的模型、控制器和视图,以及您自己的 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 模块或包,您可以将其放置到 modules 文件夹并导入,如下所示:

mymodule = local_import('module_name')

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

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

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

于 2010-05-25T13:13:44.833 回答
0

在 web2py 中,您可以像在 Python 中一样导入外部库

import module_name

或者

from module_name import object_name

我不确定“在静态文件中”是什么意思

于 2010-05-25T13:07:10.130 回答