Zel*_*luX 3 python google-app-engine
我在我的ArchLinux上安装了gdata库,还有一个简单的应用程序,它在开始时导入原子库,当我运行gapp引擎并访问该Web应用程序时,
$ python2.5 ./dev_appserver.py~/myapp
它抛出异常'No module named atom'.但是当我在Python2.5交互模式下运行'import atom'时,它运行良好.如何在GAppEngine应用程序中导入原子模块?
Ale*_*lli 11
将atom.py添加到GAE Python源代码所在的同一目录中,并确保在上传应用程序时将其上传到服务器.(上传发生在你做的时候,appcfg.py update myapp/
除非你不顾一切地停止它;使用--verbose
命令上的标志来确切地看到正在上传或更新的内容).
(或者,如果它是一个大文件,请使用它创建一个zipfile,并在您的处理程序中将该zipfile附加到sys.path; 例如,请参阅zipimport).
这假设您有一个文件atom.py
就是您要导入的文件; 如果该文件轮流导入其他文件,则必须以类似的方式使其他文件可用,等等(请参阅Python标准库中的modulefinder以查找所需的所有模块).
如果atom
不是一个模块,而是一个包,那么你得到什么import
是__init__.py
在这就是包的目录文件; 因此同样的建议适用(并且zipimport变得更具吸引力,因为您可以轻松地打包任何目录结构,例如使用zip -r
Linux命令行中的命令).
如果在任何时候(作为modulefinder将帮助您发现),依赖于第三方C编码扩展(Python可以使用的文件.so
或.pyd
文件,但不是用纯Python编写),这不在GAE提供的短名单中(参见此处),然后Python代码在GAE上不可用,因为GAE仅支持纯Python.如果是这样,那么你必须寻找,替代品的情况下,都支持GAE,即纯Python的方式来获得您所需要的相同的功能.
归档时间: |
|
查看次数: |
1468 次 |
最近记录: |