gpt4 book ai didi

使用 pycharm 调试 uwsgi python 应用程序

转载 作者:行者123 更新时间:2023-12-02 14:36:07 27 4
gpt4 key购买 nike

是否可以使用像 PyCharm 这样的 ide 来调试 uwsgi 应用程序?我可以通过直接从 pycharm 运行基于 Flask 的应用程序来很好地调试它们,但甚至无法从 pycharm 中运行 uwsgi 应用程序。

我必须使用远程调试吗?是否可以使用 run 从 pycharm 中启动 uwsgi 应用程序?

最佳答案

您仍然可以在 uWSGI 之外运行 WSGI 应用程序以进行开发和调试。

但是有时这是不可能的,例如,如果您的应用程序依赖于 uWSGI API 功能。

据我所知,您无法使用 PyCharm 中的“附加到进程”,因为您的 WSGI 应用程序正在嵌入到 uWSGI 中运行,并且没有可见的 Python 进程。 Remote debugging然而,它的作用就像一个魅力。

  1. 找到pycharm-debug*.egg PyCharm 发行版中的文件。例如,在 OSX 上,两者都可以在 /Applications/PyCharm.app/Contents 中找到。

  2. 复制pycharm-debug-py3k.egg在 Flask 应用程序旁边,或复制 pycharm-debug.egg相反,如果您使用的是 Python 2.7

  3. 在 PyCharm 中,从“运行/调试配置”对话框创建“Python 远程调试”配置。在此示例中,我使用 localhost和端口4444 。该对话框将显示相应的 pydevd.settrace(...)线。

  4. 将以下代码添加到您的应用中:

    import sys
    sys.path.append('pycharm-debug-py3k.egg') # replace by pycharm-debug.egg for Python 2.7
    import pydevd
    # the following line can be copied from "Run/Debug Configurations" dialog
    pydevd.settrace('localhost', port=4444, stdoutToServer=True, stderrToServer=True)
  5. 在 PyCharm 中,启动远程调试 session 。 PyCharm 的控制台应显示以下行:

    Waiting for process connection...
  6. 照常从 uWSGI 运行您的应用程序。它应该附加到调试器,并且 PyCharm 的控制台应该显示:

    Connected to pydev debugger (build 139.711)
  7. 您的应用程序应该在 pydevd.settrace(...) 上中断。线。然后,您可以像往常一样继续并使用 PyCharm 调试器(断点等)

关于使用 pycharm 调试 uwsgi python 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21257568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com