0

我正在尝试使用Tracand调试插件问题TracMercurial。当打包为鸡蛋并正常部署时,该插件对我来说不太适用。

使用 setup.py develop 会导致插件不可见。使用 setup.py install 工作正常,但我无法调试结果,我打算通过向插件添加一些日志记录代码来做到这一点,这样当模块尝试加载时,我将能够检查环境并查看它失败的地方。

我尝试执行此命令,以便可以开始调试插件中的 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”。

4

2 回答 2

1

我推荐trac.edgewall.org 的 wiki 文档中有关 Trac(插件)开发设置的权威且相当详尽的信息。在那里你会找到所有必需的部分和一些选项。您可能错过了指向该 Trac 环境的插件目录的-md选项,因为您想让插件代码可用。

查看TracDeveloperPlugin和 Odd Simon Simons 关于Trac 请求分析的博客,了解更多调试选项。

于 2012-06-28T16:01:34.700 回答
1

如果setuptoolsdistribute已安装,您可以使用easy_install带有-Z选项的命令来安装解压缩的鸡蛋:

python setup.py easy_install -Z

因此您仍然可以编辑已安装的源代码。

于 2012-06-27T15:11:46.690 回答