我经常发现自己想在我自己的项目中使用第三方python模块,但我知道我还需要对我想要向上游推送的第三方模块进行更改。实现此目的的文件布局/安装的最佳实践是什么?
大多数python模块都使用root目录进行布局,其中包含一个“setup.py”来编译/安装模块。问题是,每次我对模块源进行更改时,我都需要重新运行完整安装步骤才能在项目中使用这些更改。对于像scipy这样的大型模块,这可能需要一些时间。
或者,我可以破解已安装的python模块版本,但是我必须手动将这些更改移回模块的源版本以生成补丁等。
我知道virtualenv和PYTHONPATH,但它们是将模块安装到不同位置的方法。
到目前为止,我已经手动创建了符号链接,但这很麻烦。
答案 0 :(得分:6)
如果第三方项目使用的是setuptools或分发,则可以python setup.py develop
代替install
。这将在site-packages目录中为您创建适当的sym-links。