【问题标题】:Running a Twisted Application in PyDev在 PyDev 中运行 Twisted 应用程序
【发布时间】:2011-01-25 14:34:52
【问题描述】:
我想使用 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 处理。两个问题:
- 将 twistd.py 指定为主模块是否正确?
- 如果是这样,我如何传递给 twistd.py 运行 mytwistedapp.py (-ny mytwistedapp.py) 所需的参数?
【问题讨论】:
标签:
python
eclipse
pydev
twisted.application
【解决方案1】:
首先,非常感谢大家对此事的友好和亲切的支持!
通过Eclipse的PyDev模块运行一个twisted应用程序的关键是在运行配置中定义twistd.py作为主模块。可以使用以下步骤:
这些说明假设您已经可以在系统上运行 twisted 应用程序,这意味着您已经安装了 zope 和 twisted。例如,以下内容已经适用于您:
python twistd.py mytwistapp.tac
这些说明还假设您已经在 Eclipse 中安装和配置了 PyDev,包括 PYTHONPATH 的定义。
1. 导航到窗口 -> 首选项 -> PyDev -> 解释器 (Python)
2. 在库选项卡(系统 PYTHONPATH)下,系统库应该已经包含 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 项目
- 创建一个新的 PyDev 项目(例如,MYPROJ)
- 导入各种扭曲的应用程序文件
-
* 将twistd.py 添加到您的项目中*。我没有将文件的副本添加到我的项目中,而是链接到现有文件(文件 -> 新建 -> 文件 -> 高级 -> “链接到文件系统中的文件” -> c:\python26\scripts\twistd. py)。这是关键,因为您将使用 twistd.py 从 Eclipse 中运行您的应用程序。
现在你的项目已经设置好了,创建一个新的运行配置。
- 运行 -> 运行配置
- 在主选项卡下使用以下值
- 名称:Twisted(或其他)
- 项目:MYPROJ
- 主模块:${workspace_loc:MYPROJ/twistd.py}
- 在“参数”选项卡下使用以下值
- 程序参数:-ny ${workspace_loc:MYPROJ/mytwistapp.tac}
就是这样!关键是将 twistd.py 作为 Main Module 导入,然后它允许将程序参数传递到 twsttd.py,就像您在命令行中所做的那样。