黑客攻击第三方python模块的最佳实践

时间:2011-10-23 03:12:21

标签: python

我经常发现自己想在我自己的项目中使用第三方python模块,但我知道我还需要对我想要向上游推送的第三方模块进行更改。实现此目的的文件布局/安装的最佳实践是什么?

大多数python模块都使用root目录进行布局,其中包含一个“setup.py”来编译/安装模块。问题是,每次我对模块源进行更改时,我都需要重新运行完整安装步骤才能在项目中使用这些更改。对于像scipy这样的大型模块,这可能需要一些时间。

或者,我可以破解已安装的python模块版本,但是我必须手动将这些更改移回模块的源版本以生成补丁等。

我知道virtualenv和PYTHONPATH,但它们是将模块安装到不同位置的方法。

到目前为止,我已经手动创建了符号链接,但这很麻烦。

1 个答案:

答案 0 :(得分:6)

如果第三方项目使用的是setuptools或分发,则可以python setup.py develop代替install。这将在site-packages目录中为您创建适当的sym-links。