组织python项目结构和分布的正确方法
我有一个Python客户机服务项目。逻辑依赖项如下所示: 换句话说,我有一些服务srv1,srv2,…,srvX,在service.py中有公共代码,这些服务的一些客户端srv1_cl.py,srv2_cl.py,…,srvX_cl.py,在client.py中有公共代码,在common.py中有服务和客户端的公共代码 现在,我在构建用于开发的git存储库以及向用户部署项目方面遇到了问题 首先,我尝试将我的客户和服务存储在不同的文件夹中。此外,我为每个服务创建了一个文件夹,因为每个服务可以包含很多文件组织python项目结构和分布的正确方法,python,repository,structure,packages,Python,Repository,Structure,Packages,我有一个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脚本如何从上层目录导出文件?因为我需要测试我的客户端脚本,进行一些更改并执行
我发现了一些解决方案,它是基于添加带有上层文件夹sys.PATH.insert0和parentdir的PATH,但我确信这不是一个好方法,而且是一个好方法。但对于相对导入,我必须将脚本打包到一个包中
好吧,假设我会这么做,但还有一个问题。我想将客户机与服务分开部署,因为我不想与用户共享服务的代码。我如何处理这个问题
我的项目的最佳结构是什么?当我将代码包装到包中时,如何开发和调试我的项目?因为为了测试,我想从我的子文件夹启动客户机。好问题。在目录树中导入不同级别的模块和部署时,我遇到了类似的问题。最后,我将项目树重新组织为一个目录中的所有文件,并将文件命名为informativeley,并对代码进行大量修改,以获得所需的功能。对于部署,我将主pyc文件复制到子项目文件夹中。 不过我很想知道一个更好的方法