我目前正在开发一个正在发展的Python项目,我将来可能会在GAE中将其实现为webapp。
随着项目的不断发展,我正在将可能重复使用的代码修剪成单独的软件包。模块,目前在我的PYTHONPATH上。
您对如何构建我的项目和可重用软件包有任何建议,以便将来很好地适应GAE项目吗?
在其他帖子(例如this和this和this)中查看有关GAE项目结构的建议似乎相当平坦 - 这是最好的方法吗?
第三方软件包/模块怎么样?是否最好咬紧牙关并从头开始使用VirtualEnv?
非常感谢。 Prembo。
答案 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配合使用。