Кто-нибудь мог заставить Google App Engine/Django работать в Pydev/Eclipse? Я пробовал это, но с трудом получал Pydev, чтобы распознать все связанные с внешним доступом папки (плагины django), на которые я ссылался. Я закончил копирование всех этих папок в проект в массовом порядке, вместо того, чтобы ссылаться на них, что привело к массовой раздутой папке проекта - это было действительно неработоспособное решение, которое в конечном итоге заставило меня отказаться от всего проекта. Итак, мне интересно, пытался ли кто-нибудь это или не знал, что я мог делать неправильно. (Имейте в виду, что это была моя первая попытка использовать Pydev, Django, App Engine и Python!!)
Django + Pydev/Eclipse + Google App Engine - возможно?
Ответ 1
Я лично не настраивал его, но я видел этот урок о том, как это сделать:
Ответ 2
Pydev 1.4.6 (все еще доступный только в ночных сборках) имеет некоторую особую поддержку для легкой конфигурации. См.: http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html
Ответ 3
В этом руководстве показано, как настроить Aptana (с установленным PyDev) как платформу для кодирования и отладки для AppEngine. Аналогично, вы можете добавить библиотеки Django в Aptana тоже.
http://www.alishabdar.com/2009/05/06/develop-google-appengine-with-aptana-studio/
Ответ 4
На этот вопрос не было ответа какое-то время, и все изменилось, поэтому я подумал, что буду предлагать и обновлять.
PyDev теперь включает конфигурацию Google App Engine из коробки, и вы можете отлаживать и запускать проекты GAE из коробки, включая Django.
Просто установите GAE и новейший Eclipse/PyDev на свой компьютер, затем создайте проект GAE и укажите PyDev в своих версиях Python и Google App Engine.
Ответ 5
Я первоначально связался с этот учебник. Pydev теперь поддерживает Django, поэтому это, вероятно, менее актуально. Это может быть полезно для выяснения того, как заставить всех работать вместе. Вы также можете попробовать этот пост в блоге.
Ответ 6
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.
Ответ 7
Я только что начал с 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.
Ответ 8
Вот еще один учебник, который может помочь.
Версия 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/
Я надеюсь, что это поможет другим, кто только начинает