Ответ 1
Я лично не настраивал его, но я видел этот урок о том, как это сделать:
Кто-нибудь мог заставить Google App Engine/Django работать в Pydev/Eclipse? Я пробовал это, но с трудом получал Pydev, чтобы распознать все связанные с внешним доступом папки (плагины django), на которые я ссылался. Я закончил копирование всех этих папок в проект в массовом порядке, вместо того, чтобы ссылаться на них, что привело к массовой раздутой папке проекта - это было действительно неработоспособное решение, которое в конечном итоге заставило меня отказаться от всего проекта. Итак, мне интересно, пытался ли кто-нибудь это или не знал, что я мог делать неправильно. (Имейте в виду, что это была моя первая попытка использовать Pydev, Django, App Engine и Python!!)
Я лично не настраивал его, но я видел этот урок о том, как это сделать:
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.
Я первоначально связался с этот учебник. Pydev теперь поддерживает Django, поэтому это, вероятно, менее актуально. Это может быть полезно для выяснения того, как заставить всех работать вместе. Вы также можете попробовать этот пост в блоге.
appengine 1.31
Django 1.1
pydev 1.5.4
OS 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
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()
Запуск eclipse:
/usr/bin/python 2.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:/Главная/Элвиса/google_appengine/Library/WebOb:/Главная/Элвиса/google_appengine/Library/YAML/Библиотека:/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/Library/python2.6/Lib-ки:/usr/lib/python2.6/plat-linux2:/usr/local/lib/python2.6/dist-packages
Я не смог загрузить файл настроек с помощью os.environ ['DJANGO_SETTINGS_MODULE'] = 'settings'. Похоже, он был отделен от среды, которую получил джанго. Я использовал settings.configure, который, похоже, работал правильно. На данный момент у меня есть только загрузка страницы django по умолчанию в appspot.
Я только что начал с Python и Google App Engine. Я думаю, что мы оба ударили головой о ту же стену с помощью внешних ссылок.
Я попробовал развернуть проект google-app-engine-django для моего приложения. Я извлек все, и у меня под моим корнем папка /appengine _django и/django.
Я добавил их в качестве исходных папок, и я добавил папку /google _appengine/google в качестве внешней ссылки.
Обычно все это имело смысл для меня. Каждый из них содержал модуль __ init __.py. Тем не менее, когда я пытался ctr + щелкнуть по любому из операторов импорта, он не смог разрешить путь к модулям.
Поразительно, вы не импортируете прямую папку, содержащую __ init __.py. Чтобы правильно ссылаться на пакеты, вы импортируете родительскую папку, содержащую пакет duh! Это также означает, что, поскольку я не хотел использовать папку /src, фактическая папка проекта должна быть добавлена в качестве исходной ссылки, чтобы получить /appengine _django и/django для распознавания в качестве исходных папок.
С этим все работает гладко. Я предполагаю, что это покажет, что я больше читаю, чтобы сделать на Py.
Вот еще один учебник, который может помочь.
Версия 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/
В нем установлено полное django
http://django-appengine.com/post/37628665099/
И затем объясняется, как объединить эти два проекта
в один проект gae.
http://django-appengine.com/post/37778427717/
Я надеюсь, что это поможет другим, кто только начинает