我知道这是完全可能的,很多人已经这样做了,但我的问题略有不同,我还无法找到解决方案:
让第三方Django App的结构如下:
我想仅将module
目录捆绑为子模块,因为我只需键入“module.views”即可访问views.py文件。如果我导入django-module目录,我将不得不编写django-module.module.views来访问模块文件,这是不可行的。
我的目的是修改模块并偶尔向原始存储库发出拉取请求。是否有我可以遵循的工作流程,或者为此目的的最佳实践是什么?
答案 0 :(得分:3)
Pip支持editable packages和retrieving packages with git,因此您可以创建virtualenv,使用pip安装软件包,并在需要时使用pip更新它们。
所以你可以添加:
-e git://git.myproject.org/MyProject.git@da39a3ee5e6b4b0d3255bfef95601890afd80709#egg=MyProject
到requirements.txt
检索确切的提交。
我认为解决问题的最佳方法如下:
在需求文件中使用fork开发分支中的包。
如果您愿意,请使用pip更新您使用它的分叉包。
这意味着您有三个代码存在的位置:
答案 1 :(得分:0)
最佳做法是使子模块完全保持原样。
将第三方模块作为子模块添加到应用程序后,下一步是确保将“django-module”目录添加到python路径中。只要django-module位于你的python路径上,你就可以像往常一样使用子模块,输入“module.views”。