3

我想使用 Eclipse (3.5.2) PyDev Module (1.6.4) 和 Python (2.6.5) 调试 Twisted Application (10.0.0)。要从命令行运行应用程序,我将指定以下内容:

c:\python26\python c:\python26\scripts\twistd.py -ny mytwistedapp.py

为了使用 PyDev 实现这一点,我创建了一个新的 PyDev 项目并导入了 mytwistedapp.py 和 twistd.py。在项目的运行配置下,我指定 c:\python26\scripts\twistd.py 作为主模块。如果我选择 Run -> Debug Configurations,它会在没有参数的情况下运行 twistd.py(到了一半,对吧?)。如果我尝试将程序参数添加到运行配置 (-ny mytwistedapp.py),它们将由 PyDev 调试器而不是 twistd.py 处理。两个问题:

  1. 将 twistd.py 指定为主模块是正确的方法吗?
  2. 如果是这样,我如何传递给 twistd.py 运行 mytwistedapp.py (-ny mytwistedapp.py) 所需的参数?
4

1 回答 1

3

首先,非常感谢大家对此事的友好和亲切的支持!

通过 Eclipse 的 PyDev 模块运行一个 twisted 应用程序的关键是在 Run Configuration 中将 twistd.py 定义为 Main Module。可以使用以下步骤:

这些说明假定您已经可以在您的系统上运行扭曲的应用程序,这意味着您已经安装了 zope 和扭曲。例如,以下内容已经为您工作:

python twistd.py mytwistapp.tac

这些说明还假设您已经在 Eclipse 中安装和配置了 PyDev,包括 PYTHONPATH 的定义。1. 导航到 Window -> Preferences -> PyDev -> Interpreter (Python) 2. 在 Libraries Tab (System PYTHONPATH) 下,System Libs 应该已经包含 Python 安装的位置(例如,c:\python26, c:\python26\ dlls\、c:\python26\lib 等)。3. 将 Zope egg 和 Twisted 文件夹添加到系统库中。例如,c:\python26\lib\site-packages\twisted 和 c:\python26\lib\site-packages\zope.interfaces-3.6.1-py2.6-win32.egg

创建一个新的 Pydev 项目

  1. 创建一个新的 PyDev 项目(例如,MYPROJ)
  2. 导入各种扭曲的应用程序文件
  3. * 将 twistd.py 添加到您的项目中 * . 我没有将文件的副本添加到我的项目中,而是链接到现有文件(文件 -> 新建 -> 文件 -> 高级 -> “链接到文件系统中的文件” -> c:\python26\scripts\twistd. py)。这是关键,因为您将使用 twistd.py 从 Eclipse 中运行您的应用程序。

现在您的项目已设置,创建一个新的运行配置。

  1. 运行 -> 运行配置
  2. 在主选项卡下使用以下值
    • 名称:扭曲(或其他)
    • 项目:MYPROJ
    • 主模块:${workspace_loc:MYPROJ/twistd.py}
  3. 在“参数”选项卡下使用以下值
    • 程序参数:-ny ${workspace_loc:MYPROJ/mytwistapp.tac}

就是这样!关键是将 twistd.py 作为主模块导入,然后它允许将程序参数传递到 twsttd.py,就像您在命令行中所做的那样。

于 2011-02-02T05:15:05.543 回答