我对gae中的sqlalchemy有以下问题。我正在使用 Pycharm 中集成的 google app engine sdk 。一切正常,除了 sqlalchemy的整合。如果我使用Python解释器调试它,数据库本身工作正常。但是,当我试图与谷歌应用程序引擎一起运行时,我遇到了sqlalchemy库的导入问题。
我已经尝试用virtualenv来解决它,但它也没有用。
这是我的输出日志:
连接到pydev调试器(build 131.618)
警告2014-02-17 10:58:22,887 api_server.py:331]无法初始化图像API;你很可能错过了Python“PIL”模块。
警告2014-02-17 10:58:22,895 simple_search_stub.py:1018]无法从c:\ users \ user \ appdata \ local \ temp \ appengine.test \ search_indexes
读取搜索索引INFO 2014-02-17 10:58:22,947 api_server.py:138]启动API服务器:localhost:60878
INFO 2014-02-17 10:58:22,994 dispatcher.py:171]启动模块“default”运行于:localhost:8080
INFO 2014-02-17 10:58:23,032 admin_server.py:117]启动管理服务器:localhost:8000
pydev调试器:进程4452正在连接
pydev调试器:进程4196正在连接
ERROR 2014-02-17 09:58:35,742 wsgi.py:262] 回溯(最近一次调用最后一次):
文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py”,第239行,处理中 handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py”,第298行,在_LoadHandler中 handler,path,err = LoadObject(self._handler) 在LoadObject中的文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py”,第84行 obj = 导入(路径[0])
文件“C:\ Users \ user \ PycharmProjects \ test \ main.py”,第16行,in 来自bin.database.DBList import DBList
文件“C:\ Users \ user \ PycharmProjects \ test \ bin \ database \ DBList.py”,第17行,in 来自sqlalchemy import Column,Integer,String
ImportError:没有名为sqlalchemy的模块
INFO 2014-02-17 10:58:36,410 module.py:617]默认值:“GET / HTTP / 1.1”500 -
那么如何在gae中添加第三方库呢?
答案 0 :(得分:3)
这是可以预料到的,因为GAE不知道您的virtualenv
正在使用什么。为了缓解使用第三方库的问题,您需要做的就是下载库及其所有依赖项的源代码,并将其放入根项目目录下的文件夹中。
将文件夹添加到PYTHONPATH
,您可以通过以下方式执行此操作:
import sys; sys.path.append('<your relative path to directory here>')
然后你们都准备好了。按照惯例,您放置所有第三方库的目录称为lib
。