我见过其他类似的问题,但没有一个解决方案适合我。我想让Twilio与Google App Engine合作。我正在使用python API,似乎无法让它工作。我尝试了一些策略:
导入Twilio并加载到Google应用引擎服务器的最佳方法是什么?
答案 0 :(得分:1)
来自the docs
..您需要将Twilio的Python库添加到您的应用程序中。 这涉及安装一些包管理工具和最新的 Twilio Python模块的版本,然后符号链接库和 它依赖于您的Google App Engine应用程序:
cd到存储应用程序的目录,如果您按照Getting获取,这将是您创建的helloworld目录 开始指南。
安装setuptools(安装说明)。
使用setuptools安装pip:
$ sudo easy_install pip
使用pip安装Twilio的Python库和依赖项:
$ pip install twilio
找到您的site-packages目录。这是pip安装Twilio帮助程序库的地方:
$ python -c "import site; print(site.getsitepackages()[0])"
使用该命令的输出作为下面{SITE_PACKAGES}的值,将Twilio Python模块符号链接到您的应用程序目录。 首先,链接Twilio库:
$ ln -s {SITE_PACKAGES}/twilio .
然后链接Twilio Python模块的依赖项:
$ ln -s {SITE_PACKAGES}/httplib2 . $ ln -s {SITE_PACKAGES}/six.py .
您现在已将Twilio库安装到Google App Engine中 项目
然后您可以导入twilio,例如
from twilio import twiml
答案 1 :(得分:0)
你应该使用vendoring。使用python的Google App Engine官方文档还建议使用virtualenv并将第三方库安装到项目根目录的子目录中:
安装virtualenv:
$ sudo pip install virtualenv
在应用程序目录之外的某个位置创建虚拟环境。 (这些文件不应与您的应用程序代码一起上传。或者您可以在项目目录中创建它,但必须在app.yaml中添加规则才能跳过它。)
创建虚拟环境:
$ virtualenv <env_name>
$ source /path/to/<env_name>/bin/activate
$ cd <your_appengine_project_directory>
$ ln -s {virtualenv}/lib/python2.7/site-packages lib
这样,virtualenv中的pip安装也会自动进入lib目录。
$ pip install twilio
docs然后说项目根目录中的appengine_config.py
文件包含以下内容:
from google.appengine.ext import vendor
# Add any libraries installed in the "lib" folder.
vendor.add('lib')
这样,virtualenv中的pip安装也会自动进入lib目录。
因此,你应该import twilio.twiml
并从那里接受它。
答案 2 :(得分:0)
感谢您的投入。我已经尝试了所有这些东西。当我在本地主机上运行应用程序时,我在控制台中看到我遇到的错误是'pytz'
事实证明,Twilio要求Pytz依赖项位于Google App Engine的根目录中。他们还没有更新文档。
希望将来可以帮助任何人。