如何构建标准Python项目(模块,库)以供将来在Google App Engine中使用?

时间:2011-10-20 22:47:57

标签: python google-app-engine virtualenv

我目前正在开发一个正在发展的Python项目,我将来可能会在GAE中将其实现为webapp。

随着项目的不断发展,我正在将可能重复使用的代码修剪成单独的软件包。模块,目前在我的PYTHONPATH上。

您对如何构建我的项目和可重用软件包有任何建议,以便将来很好地适应GAE项目吗?

在其他帖子(例如thisthisthis)中查看有关GAE项目结构的建议似乎相当平坦 - 这是最好的方法吗?

第三方软件包/模块怎么样?是否最好咬紧牙关并从头开始使用VirtualEnv

非常感谢。 Prembo。

4 个答案:

答案 0 :(得分:5)

只需将各种库放在应用程序根目录下的软件包中即可。根目录会自动添加到您应用的sys.path

如果您希望将它们放在根目录下的lib目录中,您可以这样做,但是您必须编写一个模块,将该目录添加到sys.path的末尾,并在从lib导入任何内容之前导入它。

使用virtualenv是一种选择,但我个人认为它不会让你受益匪浅,因为你无法在生产中运行virtualenv,dev_appserver模仿生产环境。

答案 1 :(得分:2)

我无法告诉你关于GAE的信息,但我可以告诉你,咬住子弹与它无关 - 使用VirtualEnv(和virtualenvwrapper)将使你的Python开发变得更加顺畅,简单,更容易。

头顶很低,好处很多。

切换。现在

答案 2 :(得分:2)

我的主人thesis作为学生在App Engine中实施。该项目是开源的,你可以随意使用它,我希望你能得到这个想法,你可以根据自己的需要进行调整。

答案 3 :(得分:1)

GAE Python SDK在您的本地环境中运行时会创建自己的虚拟环境,因此virtualenv对您没有多大帮助。如果您要移植代码,或者至少从他们的文件夹结构中获取灵感,那么像web2py和django-nonrel这样的框架可以很好地与GAE配合使用。