有没有人能让 Google App Engine/Django 在 Pydev/Eclipse 中工作?我试过这个,但很难让 Pydev 识别我引用的所有外部链接文件夹(django 插件)。我最终将所有这些文件夹全部复制到项目中,而不是引用它们,从而导致项目文件夹非常臃肿 - 这确实是一个不可行的解决方案,最终让我放弃了整个项目。所以,我想知道是否有人尝试过这个或者知道我可能做错了什么。(请记住,这是我第一次尝试使用 Pydev、Django、App Engine 和 Python !!)
8 回答
我没有亲自设置它,但我确实看到了这个关于如何做的教程:
Pydev 1.4.6(仍然只在夜间版本中可用)有一些特殊的支持来简化配置。请参阅: http: //pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html
本教程展示了如何将 Aptana(安装了 PyDev)配置为 AppEngine 的编码和调试平台。同样,您也可以将 Django 库添加到 Aptana。
http://www.alishabdar.com/2009/05/06/develop-google-appengine-with-aptana-studio/
这个问题已经有一段时间没有回复了,事情已经发生了变化,所以我想我会提供和更新。
PyDev 现在包括开箱即用的 Google App Engine 配置,您可以开箱即用地调试和运行 GAE 项目,这包括 Django。
只需在您的机器上安装 GAE 和最新的 Eclipse/PyDev,然后创建一个 GAE 项目并将 PyDev 指向您的 Python 和 Google App Engine 版本。
appengine 1.31
Django 1.1
pydev 1.5.4
操作系统 Ubuntu 9.10
eclipse .pydevproject 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<pydev_variables_property name="org.python.pydev.PROJECT_VARIABLE_SUBSTITUTION">
<key>GOOGLE_APP_ENGINE</key>
<value>/home/elvis/google_appengine</value>
</pydev_variables_property>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/pythonleggo</path>
</pydev_pathproperty>
<pydev_pathproperty name="org.python.pydev.PROJECT_EXTERNAL_SOURCE_PATH">
<path>${GOOGLE_APP_ENGINE}</path>
<path>${GOOGLE_APP_ENGINE}/lib/webob</path>
<path>${GOOGLE_APP_ENGINE}/lib/yaml/lib</path>
</pydev_pathproperty>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
</pydev_project>
文件:
eclipse 项目文件夹
- app.yaml
- index.yaml
- init .py
- main.py
- manage.py
- .project
- .pydevproject
- settings.py(无法加载) - urls.py
主要.py:
from google.appengine.dist import use_library
use_library('django', '1.1')
from django.conf import settings
settings.configure(
DEBUG=True,
TEMPLATE_DEBUG=True,
ROOT_URLCONF = 'urls',
PROJECT_NAME = 'pythonleggo',
SETTINGS_MODULE = '.settings',
ADMINS = ('elvis', 'elvis@gmail.com'),
LANGUAGE_CODE = 'en-us',
SITE_ID = 1,
USE_I18N = True,
MEDIA_ROOT = '',
MEDIA_URL = '',
ADMIN_MEDIA_PREFIX = '/media/',
SECRET_KEY = 'shhh',
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source'),
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware'),
TEMPLATE_DIRS=('/home/jmurphy/workspace/pythonleggo/templates'),
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites')
)
#os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
from google.appengine.ext.webapp import util
def main():
# Run Django via WSGI.
application = django.core.handlers.wsgi.WSGIHandler()
util.run_wsgi_app(application)
if __name__ == ' __main__':
main()
日食运行:
/usr/bin/python2.6 -u /home/elvis/google_appengine/dev_appserver.py
将使用的 PYTHONPATH 是:
/home/elvis/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/org.python.pydev_1.5.4.2010011921/PySrc/pydev_sitecustomize:/home/elvis/workspace/pythonleggo:/home/elvis/google_appengine:/ home/elvis/google_appengine/lib/webob:/home/elvis/google_appengine/lib/yaml/lib:/usr/lib/pymodules/python2.6:/usr/lib/pymodules/python2.6/gtk-2.0:/ usr/lib/python2.6:/usr/lib/python2.6/dist-packages:/usr/lib/python2.6/dist-packages/PIL:/usr/lib/python2.6/dist-packages/gst -0.10:/usr/lib/python2.6/dist-packages/gtk-2.0:/usr/lib/python2.6/lib-dynload:/usr/lib/python2.6/lib-old:/usr/lib /python2.6/lib-tk:/usr/lib/python2.6/plat-linux2:/usr/local/lib/python2.6/dist-packages
我无法使用 os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 加载设置文件。它似乎已从 django 收到的环境中剥离。我使用了似乎可以正常工作的 settings.configure。此时我只有在 apppot 中加载默认的 django 页面。
我今天刚开始使用 Python 和 Google App Engine。我认为我们都用外部参考将头撞到了同一堵墙上。
我已经尝试为我的应用部署google-app-engine-django项目。我已经提取了所有内容,并且在我的根目录下有 /appengine_django 和 /django 文件夹。
我已将它们添加为源文件夹,并将 /google_appengine/google 文件夹添加为外部参考。
通常,这一切对我来说都是有意义的。每个都包含 __ init __.py 模块。尽管如此,当我尝试 ctr+click 任何导入语句时,它都无法解析模块的路径。
引人注目的是,您不会导入包含 __ init __.py 的即时文件夹。要正确引用包,请导入包含包duh 的父文件夹!这也意味着,由于我不想使用 /src 文件夹,因此应将实际项目文件夹添加为源引用,以使 /appengine_django 和 /django 被识别为源文件夹。
完成后,一切运行顺利。我想这是为了表明我有更多关于 Py 的阅读工作要做。
这是另一个可能有帮助的教程。
eclispe 版本可能有点旧,但它应该能让您获得足够的工作项目。
http://django-appengine.com/contents
它具有完整的 Eclipse 设置
http://django-appengine.com/post/37462709481/
http://www.mkyong.com/google-app-engine/google-app-engine-python-hello-world-example-使用-eclipse/
它具有完整的 gae 设置
http://django-appengine.com/post/37615321945/
它具有完整的 django 设置
http://django-appengine.com/post/37628665099/
然后解释了如何将这两个项目组合成一个 gae 项目。
http://django-appengine.com/post/37778427717/
我希望这对刚开始的其他人有所帮助