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

一般に、サードパーティモジュールのベストプラクティスは、どこかにコピーするのではなく、PyPIで利用できる場合は、pipまたはeasy_install(できればvirtualenvに)インストールすることです。PYTHONPATH

モジュールフォルダからsendgridパッケージを削除して、実行するpip install sendgrid-pythonか、使用できないeasy_install sendgrid-python場合pipは実行してみてください。

于 2012-05-25T20:44:37.137 に答える