我有一个Python客户服务项目。逻辑依赖关系如下所示:
换句话说,我有一些服务(srv1
,srv2
,srvX
)在service.py
中,这些服务的一些客户机(srv1_cl.py
,srv2_cl.py
,srvX_cl.py
)在client.py
中有公共代码,common.py
中有服务和客户机的通用代码。在
现在,我在为开发构建git存储库和向用户部署项目时遇到了问题。在
首先,我尝试将我的客户机和服务存储在不同的文件夹中。此外,我为每个服务创建了一个文件夹,因为每个服务可以包含很多文件。在
/myrepo.git
common.py
/clients
client.py
srv1_cl.py
srv2_cl.py
/services
service.py
/srv1
conf.py
srv1.py
start.bat
/srv2
conf.py
srv2.py
当我像这样存储文件时,我遇到了一个问题——Python脚本如何从上层目录导出文件?因为我需要测试我的客户机脚本,进行一些更改并执行。在
我找到了一些基于添加PATH
和上面的文件夹(sys.path.insert(0, parentdir)
,但我确信这不是一个好方法)和{a1}的解决方案。但是对于相对导入,我必须将脚本打包到一个包中。在
好吧,假设我会这么做,但还有一个问题。我想将“客户机”与“服务”分开部署,因为我不想与我的用户共享服务的代码。我怎么处理这个问题?在
我的项目最好的结构是什么?当我将代码打包到一个包中时,如何开发和调试我的项目?因为为了测试,我想从我的子文件夹启动客户机。在
好问题。在目录树中导入不同级别的模块并进行部署时,我遇到了类似的问题。最后,我将项目树重新组织为非常扁平的(所有文件都在一个目录中),并且只是将文件命名为informatively,并对代码进行了大量的修改以获得所需的功能。对于部署,我将主pyc文件复制到子项目文件夹中。 不过,我想知道一个更好的方法。在
相关问题 更多 >
编程相关推荐