黑客入侵第三方python模块的最佳实践

jjh*_*jjh 3 python

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

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

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

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

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

Ada*_*ner 6

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