我正在尝试将sendgrid Python API用作web2py中的模块。从命令行成功测试后,我把它放到我的modules文件夹中,但是当我尝试将sendgrid导入到我的控制器文件中时,我得到:
File "applications/test/modules/sendgrid/__init__.py", line 4, in
<module>
del sendgrid, message NameError: name 'sendgrid' is not defined
查看__init__.py
文件,我注意到他们在模块级别上进行了*导入,之前我曾见过cause problems,但我不确定是什么问题。< / p>
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
答案 0 :(得分:4)
通常,第三方模块的最佳做法是通过pip
或easy_install
(最好是virtualenv)安装它们,如果它们在PyPI上可用而不是将它们复制到PYTHONPATH
上。
尝试从您的modules文件夹中删除sendgrid包,如果pip install sendgrid-python
不可用,请执行easy_install sendgrid-python
或pip
。