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



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

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

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

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

到目前为止,我已经手动创建了符号链接,但这是混乱的

如果第三方项目正在使用setuptools或distribution,您可以使用python setup.py develop而不是install。这将为您在site-packages目录中创建适当的符号链接。

最新更新