3

我正在尝试使用 sendgrid Python API 作为 web2py 中的一个模块。从命令行成功测试后,我将它放到了我的模块文件夹中,但是当我尝试将 sendgrid 导入我的控制器文件时,我得到:

File "applications/test/modules/sendgrid/__init__.py", line 4, in
<module>
    del sendgrid, message NameError: name 'sendgrid' is not defined

查看__init__.py文件,我注意到他们在模块级别上执行 * 导入,我以前见过这会导致问题,但我不确定问题是什么。

sendgrid/__init__.py

from sendgrid import *
from message import *

del sendgrid, message

__version__ = "0.1.0"
version_info = (0, 1, 0)

sendgrid api: https ://github.com/sendgrid/sendgrid-python

4

1 回答 1

4

一般来说,第 3 方模块的最佳实践是通过pipeasy_install(最好在virtualenv中)安装它们,如果它们在PyPI上可用,而不是将它们复制到您的PYTHONPATH.

尝试从模块文件夹中删除 sendgrid 包并执行pip install sendgrid-pythoneasy_install sendgrid-python如果pip不可用。

于 2012-05-25T20:44:37.137 回答