2009-02-07 2 views
17

Кто-нибудь мог заставить Google App Engine/Django работать в Pydev/Eclipse? Я пробовал это, но с трудом получал Pydev, чтобы распознать все связанные с внешним доступом папки (плагины django), на которые я ссылался. Я закончил копирование всех этих папок в проект в массовом порядке, вместо того, чтобы ссылаться на них, что привело к массовой раздутой папке проекта - это было действительно неработоспособное решение, которое в конечном итоге заставило меня отказаться от всего проекта. Итак, мне интересно, пытался ли кто-нибудь это или не знал, что я мог делать неправильно. (Имейте в виду, что это была моя первая попытка с помощью Pydev, Django, App Engine и Python !!)Django + Pydev/Eclipse + Google App Engine - возможно?

+1

Так что вы в конечном итоге делают в конце концов здесь? Я ищу решение для того же самого сейчас ... –

ответ

9

лично я не поставил его, но я видел этот учебник о том, как это сделать:

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

+5

Спасибо - да, эта статья имеет отношение к Eclipse/GAE, но не для подробностей Eclipse/GAE/Django. – 2009-02-08 13:53:45

+1

Pydev имеет встроенную поддержку GAE: http://stackoverflow.com/questions/523841/django-pydev-eclipse-google-app-engine-possible/872587#872587 – Casebash

1

Я только что начал с Python и Google App Engine. Я думаю, что мы оба ударили головой по одной стене с помощью внешних ссылок.

Я пробовал использовать проект google-app-engine-django для своего приложения. Я извлек все, и у меня под моим корнем папка/appengine_django и/django.

Я добавил их в качестве исходных папок, и я добавил папку/google_appengine/google в качестве внешней ссылки.

Как правило, это все имело смысл для меня. Каждый из них содержал модуль __ init __.py. Тем не менее, когда я пытался ctr + щелкнуть по любому из операторов импорта, он не смог разрешить путь к модулю.

Поразительно, что вы не импортируете прямую папку, содержащую __ init __.py. Чтобы правильно ссылаться на пакеты, вы импортируете родительскую папку, содержащую пакет duh! Это также означает, что, поскольку я не хотел использовать папку/src, фактическая папка проекта должна быть добавлена ​​в качестве исходной ссылки, чтобы получить/appengine_django и/django для распознавания в качестве исходных папок.

С этим все работает бесперебойно. Думаю, это должно показать, что я больше читаю, чтобы сделать на Пи.

3

В этом учебном руководстве показано, как настроить Aptana (с установленным PyDev) как платформу для кодирования и отладки AppEngine. Аналогичным образом вы можете добавить библиотеки Django в Aptana.

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

+1

Почему Aptana, чем Eclipse? –

5

Pydev 1.4.6 (по-прежнему доступны только в ночных сборках) имеет некоторую особую поддержку легко в конфигурации. См .: http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html

+0

Я думаю, что проблема здесь не в Pydev с Appengine, а в Pydev с Appengine И djangoappengine http://www.allbuttonspressed.com/projects/djangoappengine – j7nn7k

2

Первоначально был связан с this tutorial. Pydev теперь поддерживает Django, поэтому это, вероятно, менее актуально. Это может быть полезно для выяснения того, как заставить всех работать вместе. Вы также можете попробовать посмотреть this blog post.

2

AppEngine 1,31
Джанго 1,1
PyDev 1.5.4
ОС Ubuntu 9,10


затмение.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> 

Файлы:

папка затмение проект
- app.yaml
- index.yaml
- INIT .py
- main.py
- manage.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', '[email protected]'), 
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/бен /python2.6 -u /home/elvis/google_appengine/dev_appserver.py

PYTHONPATH, который будет b е используется:

/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 0,6/GTK-2.0: /usr/lib/python2.6: /usr/lib/python2.6/dist-packages: /usr/lib/python2.6/dist-packages/PIL:/USR/Библиотека/python2 .6/Расс-пакеты/GST-0,10: /usr/lib/python2.6/dist-packages/gtk-2.0: /usr/lib/python2.6/lib-dynload: /usr/lib/python2.6/ Lib-старый: /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'. Похоже, он был отделен от среды, которую получил джанго. Я использовал settings.configure, который, похоже, работал правильно. На данный момент у меня есть только загрузка страницы django по умолчанию в appspot.

+0

Почему вы используете 2.6? App Engine поддерживает только 2,5 – Casebash

3

Этот вопрос не ответил на какое-то время, и все изменилось, поэтому я решил предоставить и обновить.

PyDev теперь включает конфигурацию Google App Engine из коробки, и вы можете отлаживать и запускать проекты GAE из коробки, включая Django.

Просто установите GAE и новейший Eclipse/PyDev на вашем компьютере, затем создайте проект GAE и укажите PyDev в своих версиях Python и Google App Engine.

0

Вот еще один учебник, который может помочь.
Версия eclispe может быть немного старой, но она должна получить вас достаточно далеко, чтобы получить рабочий проект.

http://django-appengine.com/contents

Это полное затмение установить
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/

Это полный Джанго создан
http://django-appengine.com/post/37628665099/

И затем объясняет, как объединить эти два проекта в один проект gae.
http://django-appengine.com/post/37778427717/

Я надеюсь, что это помогает другим, которые только начинают

Смежные вопросы