【问题标题】:Django + Pydev/Eclipse + Google App Engine - possible?Django + Pydev/Eclipse + Google App Engine - 可能吗?
【发布时间】:2010-10-06 03:33:17
【问题描述】:

有没有人能够让 Google App Engine/Django 在 Pydev/Eclipse 中工作?我试过这个,但很难让 Pydev 识别我引用的所有外部链接文件夹(django 插件)。我最终将所有这些文件夹全部复制到项目中,而不是引用它们,从而导致项目文件夹非常臃肿 - 这确实是一个不可行的解决方案,最终让我放弃了整个项目。所以,我想知道是否有人尝试过这个或者知道我可能做错了什么。 (请记住,这是我第一次尝试使用 Pydev、Django、App Engine 和 Python!)

【问题讨论】:

  • 那么你最后在这里做了什么?我现在正在寻找解决同一问题的方法...

标签: django eclipse google-app-engine linker pydev


【解决方案1】:

这是另一个可能有帮助的教程。
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-using-eclipse/

已完成gae设置
http://django-appengine.com/post/37615321945/

已完成 django 设置
http://django-appengine.com/post/37628665099/

然后解释如何将这两个项目结合起来 进入一个 gae 项目。
http://django-appengine.com/post/37778427717/

我希望这对刚起步的其他人有所帮助

【讨论】:

    【解决方案2】:

    这个问题已经有一段时间没有回复了,事情已经发生了变化,所以我想我会提供和更新。

    PyDev 现在包括开箱即用的 Google App Engine 配置,您可以开箱即用地调试和运行 GAE 项目,这包括 Django。

    只需在您的机器上安装 GAE 和最新的 Eclipse/PyDev,然后创建一个 GAE 项目并将 PyDev 指向您的 Python 和 Google App Engine 版本。

    【讨论】:

      【解决方案3】:

      我最初链接到this tutorial。 Pydev 现在有 Django 支持,所以这可能不太相关。不过,它对于弄清楚如何让它们一起工作可能仍然有用。您也可以尝试查看this blog post

      【讨论】:

        【解决方案4】:

        应用引擎 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
        - 初始化.py
        - main.py
        - 管理.py
        - .project
        - .pydevproject
        - settings.py(无法加载) - urls.py


        main.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-包/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 页面。

        【讨论】:

        • 你为什么使用 2.6? App Engine 仅支持 2.5
        【解决方案5】:

        Pydev 1.4.6(仍然只在夜间版本中可用)有一些特殊的支持,以便于配置。见:http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html

        【讨论】:

        【解决方案6】:

        本教程展示了如何将 Aptana(安装了 PyDev)配置为 AppEngine 的编码和调试平台。同样,您也可以将 Django 库添加到 Aptana。

        http://www.alishabdar.com/2009/05/06/develop-google-appengine-with-aptana-studio/

        【讨论】:

          【解决方案7】:

          我今天刚开始使用 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 的阅读工作。

          【讨论】:

            【解决方案8】:

            我没有亲自设置它,但我确实看到了有关如何设置的教程:

            http://code.google.com/appengine/articles/eclipse.html

            【讨论】:

            猜你喜欢
            • 2013-12-09
            • 2012-06-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-04-03
            • 2013-01-24
            • 2011-12-07
            • 1970-01-01
            相关资源
            最近更新 更多