我到了使用许多第三方应用程序的地步,但我需要扩展它们。我试图找出修改现有应用的最佳方法。在过去,我刚刚修改了站点包中的代码(知道它很糟糕),但这有明显的缺陷。
现在我能得到的最接近的是分叉github仓库,然后我在我的项目中创建了一个应用程序,我连接到分叉的github仓库。
问题是,我所要求的是项目,而不是应用程序。所以这意味着我有一个类似的结构:project / app-project / app after fork。其他东西也在app-project目录中,例如LICENSE,AUTHORS等。
Project
--App1
----Code
--App2
----Code
--ForkedAppProject
----LICENCE
----AUTHORS
----ForkedApp
------Code
如果我只是将代码放在App目录中,我可以对其进行修改,但是我失去了项目的所有源代码控制权(许可证,作者等),这种情况会破坏分叉的目的开源应用程序。
我想设置它以便我修改应用程序代码,但我正在修改,以便我的更改可以为开源项目做出贡献。
答案 0 :(得分:1)
没有必要将forked app放在项目中。分叉和修改后,您可以将ForkedApp
文件夹添加到PYTHONPATH
,或者像这样构建自己的包
python setup.py sdist
然后将其安装在您的system / virtualenv中并更新INSTALLED_APPS
。
答案 1 :(得分:0)
最简单,最方便的方法是使用pip --editable
选项。请参阅pip文档中的“Editable” Installs。