Eclipse 将PyDev交互式调试器附加到在PyXLL中运行的Python代码
(在Windows 10中,我安装了Eclipse 将PyDev交互式调试器附加到在PyXLL中运行的Python代码,eclipse,pydev,canopy,pythonpath,pyxll,Eclipse,Pydev,Canopy,Pythonpath,Pyxll,(在Windows 10中,我安装了..\AppData\Local\Enthught\Canopy,其中包括Python2.7,以及另一个..\AppData\Local\Programs\Python35,其中包括Python3.5%PATH指向Canopy) 我想通过以下和使“将PyDev交互式调试器附加到在PyXLL中运行的Python代码”起作用 因此,我做了以下工作: 将eclipse\u debug.py保存在文件夹..\AppData\Local\enthund\Canopy\U
..\AppData\Local\Enthught\Canopy
,其中包括Python2.7
,以及另一个..\AppData\Local\Programs\Python35
,其中包括Python3.5
%PATH
指向Canopy)
我想通过以下和使“将PyDev交互式调试器附加到在PyXLL中运行的Python代码”起作用
因此,我做了以下工作:
eclipse\u debug.py
保存在文件夹..\AppData\Local\enthund\Canopy\User\Lib\site packages\pyxll\examples\
中,并使pyxll.cfg
包含eclipse\u debug.py
eclipse/plugins/org.python.pydev_4.5.4.201601292234/pysrc
添加到%PATH
(echo%PATH
确实显示此路径,而echo%PYTHONPATH%
仍在命令提示符下返回%PYTHONPATH%
)导入pydevd;pydevd.settrace()
到hello
函数,该函数以前在Excel中工作(hello(“abc”)
确实返回了hello,abc
)hello
功能不再工作没有承诺的新菜单项此模块添加了一个Excel菜单项以附加到PyDev调试器,还添加了一个Excel宏,以便此脚本可以在Excel之外运行并调用PyXLL以附加到PyDev调试器。
因此,我不知道如何调试pvdevd
没有很好地插入到环境中,因为当我在代码中键入import
时,pydevd
不会自动建议作为包,例如numpy
或numbers
。但是我真的很困惑于在Eclipse中控制PYTHONPATH
或PATH
编辑1:
我已将Windows控制面板中的PYTHONPATH
设置为…eclipse/plugins/org.python.pydev_4.5.4.201601292234/pysrc
。因此,echo%PYTHONPATH%
仍然在命令提示符下返回此路径。并且pydevd
在eclipse中自动完成
使用以下代码,不使用eclipse_debug.py
,并且在启动debug server
之后,执行在settrace
行之后中断:
from pyxll import xl_func
@xl_func("string name: string")
def hello(name):
import pydevd;pydevd.settrace()
return "Hello, %s" % name
现在,我想遵循eclipse\u debug.py
的方法。我已经做了以下工作:
1) 擦除Windows控制面板中的PYTHONPATH
(因此,我想依靠eclipse\u debug.py
找到路径)
2) 只修改第一行tobeeclipse\u root=[r“C:\my\u path\u to\eclipse”]
3) 将eclipse_debug.py添加到pyxll.cfg
4) 使用以下代码定义函数hello
:
from pyxll import xl_func
@xl_func("string name: string")
def hello(name):
return "Hello, %s" % name
5) 启动eclipse的调试服务器,然后启动Excel,然后重新加载PyXLL
但是,尽管Excel中的
hello
函数可以正常工作,但Excel中不会显示关于调试的菜单项。我的方法有什么问题吗?与其在环境级别修改PYTHONPATH
或路径,不如简单地执行导入系统;sys.path.add(r'eclipse/plugins/org.python.pydev_4.5.4.201601292234/pysrc')
位于导入pydevd上方;pydevd.settrace()
因此,您应该以以下方式结束:
导入系统
sys.path.add(r'- Python(AFAIK)从不在
中查找Python模块。这就是为什么。在启动时,Python会将PATH
设置为sys.path
+任何其他设置的内容李>PYTHONPATH
没有自动完成很可能是因为PyDev不知道您对pydevd
所做的或打算做的修改。您可以通过修改解释器设置来告诉PyDevPYTHONPATH
- 用于简化与调试器的连接。您应该使用
方法或上述方法。但是,如果使用eclipse\u debug.py
,则必须更新文件顶部附近的路径李>eclipse\u debug.py
PYTHONPATH
或路径
,只需执行导入系统;sys.path.add(r'eclipse/plugins/org.python.pydev_4.5.4.201601292234/pysrc')
位于导入pydevd上方;pydevd.settrace()
因此,您应该以以下方式结束:
导入系统
sys.path.add(r'- Python(AFAIK)从不在
中查找Python模块。这就是为什么。在启动时,Python会将PATH
设置为sys.path
+任何其他设置的内容李>PYTHONPATH
没有自动完成很可能是因为PyDev不知道您对pydevd
所做的或打算做的修改。您可以通过修改解释器设置来告诉PyDevPYTHONPATH
- 用于简化与调试器的连接。您应该使用
方法或上述方法。但是,如果使用eclipse\u debug.py
,则必须更新文件顶部附近的路径李>eclipse\u debug.py
eclipse\u debug.py
仍然不适合我。你能帮忙吗?你真的应该问另一个问题,而不是不合格的问题