【发布时间】:2016-11-07 06:49:23
【问题描述】:
我是 django 开发人员,最近开始使用 webapp2 项目。我的问题是如何像在 django 和 flask 中一样使用 ipdb 包在 webapp2 应用程序中进入调试模式。
我的应用结构:
helloapp
- libs/
- stylesheets/
- templates/
- .gitignore
- app.yaml
- index.yaml
- main.py
- webapp2.py
我已经使用
在 libs 文件夹中安装了 ipdbsudo pip install -t github_projects/hellowebapp2/libs ipdb
main.py
from .libs import ipdb
class HelloWebapp2(webapp2.RedirectHandler):
def get(self):
import ipdb; ipdb.set_trace()
错误
/home/kishan/github_projects/hellowebapp2/main.py
ERROR 2016-11-07 06:48:01,566 wsgi.py:263]
Traceback (most recent call last):
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/home/kishan/github_projects/hellowebapp2/main.py", line 12, in <module>
from .libs import ipdb
ValueError: Attempted relative import in non-package
更新
我关注了这个link 现在我得到了不同的错误ImportError: No module named termios :(
【问题讨论】:
-
helloapp不是 python 包。它需要有__init__.py。 -
嗨,我试过了,还是不行。我也尝试制作 libs 文件夹 python 包。然后
from .libs import ipdb然后我得到另一个错误ImportError: No module named ipdb.__main__ -
你安装了ipdb吗?
pip install ipdb -
是的,正如我在问题中所说的那样。