Google App Engine/Django を Pydev/Eclipse で動作させることができた人はいますか? これを試してみましたが、参照していた外部にリンクされたすべてのフォルダー (django プラグイン) を Pydev に認識させるのに苦労しました。これらのフォルダーをすべて参照するのではなく、プロジェクトにまとめてコピーすることになり、プロジェクト フォルダーが非常に肥大化してしまいました。これは実際には実行不可能な解決策であり、最終的にプロジェクト全体をあきらめることになりました。だから、誰かがこれを試したのか、それとも私が何を間違っていたのか考えているのだろうか. (これは、Pydev、Django、App Engine、および Python を使用する初めての試みだったことを覚えておいてください!!)
8 に答える
私はそれを個人的に設定していませんが、それを行う方法についてこのチュートリアルを見ました:
Pydev 1.4.6 (まだナイトリー ビルドでのみ利用可能) には、設定を簡単にするための特別なサポートがあります。参照: http://pydev.blogspot.com/2009/05/testing-on-pydev-146-google-app-engine.html
この質問にはしばらく回答がなく、状況も変わったので、提供して更新しようと思いました。
PyDevには、すぐに使用できるGoogle App Engine構成が含まれ、GAEプロジェクトをすぐにデバッグして実行できます。これにはDjangoが含まれます。
マシンにGAEと最新のEclipse/PyDevをインストールしてから、GAEプロジェクトを作成し、PyDevをPythonとGoogleAppEngineのバージョンに向けるだけです。
このチュートリアルでは、Aptana (PyDev がインストールされている) を AppEngine のコーディングおよびデバッグ プラットフォームとして構成する方法を示します。同様に、Django ライブラリを Aptana にも追加できます。
http://www.alishabdar.com/2009/05/06/develop-google-appengine-with-aptana-studio/
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', '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 を使用しました。この時点で、appspot にはデフォルトの django ページしかロードされていません。
私はもともとこのチュートリアルにリンクしていました。Pydev は Django をサポートするようになったため、これはおそらく関連性が低くなります。ただし、それらをすべて連携させる方法を理解するのに役立つ場合があります。こちらのブログ投稿もご覧ください。
今日はPythonとGoogleAppEngineを使い始めたところです。私たちは両方とも、外部参照を使用して同じ壁に頭をぶつけたと思います。
アプリにgoogle-app-engine-djangoプロジェクトをデプロイしてみました。すべてを抽出し、ルートの下に/appengine_djangoフォルダーと/djangoフォルダーがあります。
それらをソースフォルダーとして追加し、/ google_appengine/googleフォルダーを外部参照として追加しました。
通常、これはすべて私には理にかなっています。それぞれに__init__。pyモジュールが含まれていました。それでも、インポートステートメントのいずれかをctr +クリックしようとすると、モジュールへのパスを解決できませんでした。
驚くべきことに、__init__。pyを含む直接フォルダーはインポートしません。パッケージを適切に参照するには、パッケージを含む親フォルダーをインポートします。つまり、/ 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-使用日食/
完全な gae セットアップがあり
ます http://django-appengine.com/post/37615321945/
完全な Django セットアップ
http://django-appengine.com/post/37628665099/があります
そして、これら 2 つのプロジェクトを 1 つの gae プロジェクトに結合する方法を説明します。
http://django-appengine.com/post/37778427717/
これが、始めたばかりの他の人に役立つことを願っています