我正在尝试使用Trac
和TracMercurial
调试插件问题。当打包成鸡蛋并正常部署时,该插件对我来说并不适用。
使用setup.py开发结果导致插件不可见。使用setup.py安装工作正常,但我无法调试结果,我打算通过向插件添加一些日志代码来做,因此当模块尝试加载时,我将能够检查环境并查看它失败的地方。
我尝试执行此命令,因此我可以开始调试插件中的python代码,以查看它失败的原因,以及原因:
c:\workdir> python setup.py develop --exclude-scripts --install-dir "C:\...\python\Lib\site-packages"
执行此操作后,site-packages目录中有一个egg-link文件,但Trac没有看到该插件。但是,如果我使用“setup.py install”,并将完整的.egg复制到site-packages目录,则Trac会看到该插件。
显然我不理解“setup.py develop”模式。我的目标是开始调试一个不在任何虚拟环境中的插件,只需简单地使用“setup.py develop”。
答案 0 :(得分:1)
如果安装了setuptools
或distribute
,您可以使用带有easy_install
选项的-Z
命令安装解压缩的鸡蛋:
python setup.py easy_install -Z
因此您仍然可以编辑已安装的源代码。
答案 1 :(得分:1)
我建议在trac.edgewall.org的wiki文档中为Trac(插件)development setup提供权威且相当详尽的信息。在那里你会找到所有必需的部分和一些选项。您可能错过了-md
option指向该Trac环境的插件目录,以了解您想要使插件代码可用的内容。
有关TracDeveloperPlugin的更多调试选项,请查看Trac request profiling和Odd Simon Simons博客。