如何使用setup.py develop“半安装”通常作为egg安装的插件?

时间:2012-06-27 14:38:22

标签: python trac egg setup.py

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

使用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”。

2 个答案:

答案 0 :(得分:1)

如果安装了setuptoolsdistribute,您可以使用带有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博客。