我的应用程序有一个用于控制 Linux 主机场的 python 脚本。更准确地说,我有一个集群数据库管理系统。该脚本实现了控制集群的例行任务——启动节点、停止节点、获取节点状态等。
现在脚本是用 python 编写的,只有标准的 python 库。它使用 paramiko 通过 ssh 访问远程主机。它非常丑陋,对于脚本的开发人员和维护人员来说毫无用处。
我想切换到python-fabric。
我的问题是:如何正确编写脚本并将其打包到发行版中(包、tar.gz 等)?
主要的应用程序构建系统是 CMake,并使用该configure_file
语句从模板生成我的脚本,并替换 C++ 应用程序、库等的完整路径。
我希望构建脚本:
- 使用 virtualenv 创建一个单独的环境
- 在单独的环境中安装 pip
- 在单独的环境中安装fabric
- 运行由 virtualenv 生成的“激活”脚本并从中调用东西
这种解决方案有什么缺点?您还能提出哪些其他解决方案?