【问题标题】:googleappengine install pudbgoogleappengine 安装 pudb
【发布时间】:2014-09-22 14:35:06
【问题描述】:

我想用 pudb 在谷歌应用引擎上调试我的 python 应用程序。我在没有使用 virtualenv 的情况下安装了 buildout 并为其创建了配置文件 buildout.cfg:

[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 应用程序一起使用?

【问题讨论】:

    标签: python google-app-engine buildout pudb


    【解决方案1】:

    你需要告诉rod.recipe.appengine要复制什么鸡蛋:

    packages =
        pudb
        urwid
    

    【讨论】:

    • 我刚试过,在我运行bin/buildout 之后,它没有帮助,有同样的错误。
    • parts/app 目录中有什么?您还可以查看为库生成的 zip 文件吗?
    • 是的,当然。如果我按照您所说的eggs = gaeappapp 部分仅写入此代码,则parts/app 结构为:gaeapp - 我的项目的副本。否则,如果我写在app 部分,这个eggs = gaeapp, pudb parts/app 将是:gaeapp - 我的项目的副本,EGGS-INFOpackages.zip - 有一个文件pkg_resources.py 其中:def _dummy_func(*args): pass declare_namespace = _dummy_func resource_filename = _dummy_func
    • @kazantip:这就是packages.zip 的全部内容?然后没有复制依赖项。尝试将pudb显式添加到eggs列表中。
    • 好的,我已经在app -> eggs 列表中添加了pudbpackages.zip 没有改变。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2016-07-23
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多