我有一个python项目,并希望将依赖项包含在名为“deps”的单个目录中,如下所示:
+deps
---+dep1
---+dep2
+module1
+module2
import语句是这样的:
import deps.dep1
我的意图是将“deps”作为git中的子模块。这是正确的方法吗? 我选择这个课程是因为使用virtualenvs自动部署python是如此痛苦!
编辑: 如果我选择这样,我需要将“deps”目录添加到PYTHONPATH或使用sys.path.append()。我试图在不修改所有import语句的情况下找出解决方案,而不必在bash配置文件中放置导出PYTHONPATH语句(这将在部署期间再次导致问题)请帮忙!
答案 0 :(得分:0)
没有正确或错误的方法。许多项目更喜欢捆绑依赖项以保持严密控制,并避免不得不依赖于包管理器或给定系统上的包的可用性。
我会将deps
本身作为主git存储库的一部分,并将每个依赖项作为单独的git子模块,然后它将成为相应项目自己的git / Hg存储库的一个分支。
答案 1 :(得分:0)
如果您想要清楚地参考每个deps的确切版本,这是一个很好的方法。
如果你必须修改这些deps的源代码就会变得很麻烦(在这种情况下,你需要为修改的每个deps添加,提交和推送这些更改,然后返回一个级别,添加并提交更改的{{3 }})