如何在appengine应用程序中使用/usr/local/lib/python2.7/dist-packages中的模块
让我首先说,我认为这实际上不可行,但是,在我放弃努力进入这个库之前,我想确定一下。因此,我使用easy_install添加了一个在Github上找到的API库。我希望在appengine应用程序中使用它。我编写了一个简单的测试处理程序,它将生成模块主类的一个实例并打印一个请求。我的dev_appserver将启动,但不会加载主页任何建议都将不胜感激 错误是:如何在appengine应用程序中使用/usr/local/lib/python2.7/dist-packages中的模块,python,google-app-engine,Python,Google App Engine,让我首先说,我认为这实际上不可行,但是,在我放弃努力进入这个库之前,我想确定一下。因此,我使用easy_install添加了一个在Github上找到的API库。我希望在appengine应用程序中使用它。我编写了一个简单的测试处理程序,它将生成模块主类的一个实例并打印一个请求。我的dev_appserver将启动,但不会加载主页任何建议都将不胜感激 错误是: ERROR 2013-06-21 04:24:00,450 wsgi.py:219] Traceback (most recent
ERROR 2013-06-21 04:24:00,450 wsgi.py:219]
Traceback (most recent call last):
File "/home/devin/google_appengine/google/appengine/runtime/wsgi.py", line 196, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/devin/google_appengine/google/appengine/runtime/wsgi.py", line 255, in _LoadHandler
handler = __import__(path[0])
File "/home/devin/Projects/appengine/hackTheMidwest/perfectpet4me.py", line 4, in <module>
import petfinder
ImportError: No module named petfinder
INFO 2013-06-21 04:24:00,455 server.py:593] default: "GET / HTTP/1.1" 500 -
和我的app.yaml:
application: ASDFASDFASDF
version: 1
runtime: python27
api_version: 1
threadsafe: true
- url: /.*
script: perfectpet4me.application
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
你不能那样做。将第三方库包括在应用程序的目录中,并在应用程序中使用它。当部署到app engine中时,它将与您的应用程序一起上载。这正是我为google app engine构建的gaenv工具的用途。 以下是一篇博文,了解更多详细信息: 但总结如下: 您可以安装它:
pip install gaenv
cd /to/your/project
gaenv
确保您已将第三方软件包安装到requirements.txt中,并且该软件包将创建一个符号链接,因此将随该软件包一起上载,因为appengine appcfg遵循符号链接
您还可以在github上阅读有关一切工作原理的代码:
好工具!我发现我无法使用我想要的库还有其他原因,但这肯定会对其他可能遇到这个问题的人有所帮助。是的,有很多软件包可能与google app engine不兼容,我可能会在包源代码中进行某种查找,以检查它是否使用了与appengine不兼容的东西,并发出警告。
pip install gaenv
cd /to/your/project
gaenv