2014-09-22 6 views
0

Я хочу отладить мое приложение python в Google приложении с помощью pudb. Я установил Buildout без использования virtualenv и создал конфигурационный файл для него buildout.cfg:googleappengine install pudb

[buildout] 
develop = . 
parts = 
    python 
    app 
    pudb 
    nosetests 
    zipsymlink 

eggs = 
    gaeapp 

unzip = true 

[python] 
recipe = zc.recipe.egg 
interpreter = python 
eggs = ${buildout:eggs} 

[app] 
recipe = rod.recipe.appengine 
url = https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.11.zip 
server-script = dev_appserver 
src = ${buildout:directory}/src/gaeapp 
exclude = tests 
zip-packages = True 

[pudb] 
recipe = zc.recipe.egg 
eggs = 
    gaeapp 
    pudb 

[nosetests] 
recipe = zc.recipe.egg 
eggs = 
    NoseGAE 
    WebTest 
    gaeapp 
    nose 

extra-paths = 
    ${buildout:directory}/etc 
    ${buildout:directory}/parts/google_appengine 
    ${buildout:directory}/parts/google_appengine/lib/antlr3 
    ${buildout:directory}/parts/google_appengine/lib/fancy_urllib 
    ${buildout:directory}/parts/google_appengine/lib/ipaddr 
    ${buildout:directory}/parts/google_appengine/lib/webob_1_1_1 
    ${buildout:directory}/parts/google_appengine/lib/webapp2/ 
    ${buildout:directory}/parts/google_appengine/lib/yaml/lib 

interpreter = python 

[zipsymlink] 
recipe = svetlyak40wt.recipe.symlinks 
path = ${app:src} 
files = ${app:app-directory}/packages.zip 

# Tools and dependencies 
svetlyak40wt.recipe.symlinks = 0.2.1 

Мой app.yaml:

application: gaeapp 
runtime: python27 
threadsafe: true 
api_version: 1 

handlers: 
- url: /_ah/spi/.* 
    script: gae_api.APPLICATION 

libraries: 
- name: pycrypto 
    version: latest 

- name: endpoints 
    version: 1.0 

- name: setuptools 
    version: latest 

- name: webob 
    version: latest 

- name: webapp2 
    version: latest 

builtins: 
- deferred: on 

Мой setup.py:

from setuptools import setup, find_packages 

setup(
    name = "gaeapp", 
    version = "1.0", 
    url = 'http://github.com/blabla/gaeapp', 
    license = 'BSD', 
    description = "Just a test GAE app.", 
    author = 'WOW', 
    packages = find_packages('src'), 
    package_dir = {'': 'src'}, 
    install_requires = ['setuptools', 'pudb'] 
) 

Все установленные тонкие, nosetests и devappserver - это работы. Запуск сервера:

bin/devappserver parts/app 

Я пытаюсь использовать pudb в коде:

import pudb; pudb.set_trace(); 

И просто увидеть такую ​​ошибку:

ImportError: No module named pudb 

Существуют ли какие-либо способы использования pudb с GAE приложений ?

ответ

0

Вы должны сказать rod.recipe.appengine какие яйца копировать:

packages = 
    pudb 
    urwid 
+0

Я просто попытался, после того, как я переехала машина 'bin/buildout' и это не помогло, имеют ту же самую ошибку. –

+0

что находится в каталоге 'parts/app'? Можете ли вы также просмотреть zip-файл, созданный для библиотек? –

+0

да, конечно. Если я напишу в 'app' часть только этого кода, как вы сказали' eggs = gaeapp', структура 'parts/app': ' gaeapp' - копия моего проекта. Иначе, если я напишу в 'app' part this' eggs = gaeapp, pudb' 'parts/app' будет: ' gaeapp' - копия моего проекта 'EGGS-INFO',' packages.zip' - есть файл 'pkg_resources.py', в котором:' def _dummy_func (* args): pass declare_namespace = _dummy_func resource_filename = _dummy_func' –

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