我有一台运行 vagrant 和 ubuntu 虚拟机的 Windows 计算机。 ubuntu 虚拟机有一个 Flask 应用程序在带有 mod_wsgi 的 apache 上运行。 我还设置了 PyCharm 以使用 Vagrant 作为我的远程 Python 解释器。
我可以很好地调试脚本,但我似乎找不到调试正在运行的实际 Flask 应用程序的方法。
Vagrant 共享代码文件夹并转发端口 80 => 8080
我可以通过在 Windows 中转到 127.0.0.1:8080 来访问我的 Chrome 中的 Flask 应用程序。
我还尝试通过复制 pyhton-debug.egg 并将以下内容添加到我的 init.py 文件中来遵循 PyCharm 指南
if __name__ =='__main__':
app.run(host='0.0.0.0', port=80, threaded=True)
import sys
sys.path.append('/home/vagrant/code/Flask-App/pycharm-debug.egg')
import pydevd
pydevd.settrace('0.0.0.0', port=8080, stdoutToServer=True, stderrToServer=True)
请您参考如下方法:
由于某些原因,我的 import pydevd 似乎没有正常工作,所以我使用 easy_install 安装了 egg,它似乎没问题。
我还必须将 IP 地址更改为从我的虚拟机到我的 Windows 机器的 IP 地址,并在调试配置中使用这些设置。
所以我的 __init__.py 文件有:
import pydevd
pydevd.settrace(
'10.0.2.2',
port=80,
stdoutToServer=True,
stderrToServer=True
)
