我有几个脚本有自己的一些函数副本,所以我将这些函数提取到一个模块中,并让脚本导入该函数。这些脚本将被复制到一堆linux服务器上并执行。当脚本独立工作时,我只需将文件复制到服务器并执行“python”。
我有一个中央管理服务器,可以在不同的服务器上复制和运行脚本。
我读过一些关于Python卵的文章,但可以使用一些方法上的建议。我今天的方法是复制并简单地运行python脚本。由于这工作得很好,我想也许有一种方法可以将脚本本身与它们所依赖的(内部)模块捆绑在一起,将捆绑复制到服务器并执行它们。不明白为什么我需要使用“pip”安装任何东西。
现在,你们推荐什么样的设置?我是否应该在本地计算机上生成egg,并让管理服务器将egg文件复制到服务器上?我更愿意从管理服务器上复制服务器所需的所有内容,而不是让服务器自己下拉依赖项,这样我就不必在所有防火墙上打更多的洞。既然鸡蛋通常需要降低依赖性,也许鸡蛋不是解决问题的办法?
我的大多数服务器都运行Python2.6,但我确实有一些运行Python2.4和3.2。
你好, 肯尼斯
更新2016:wagon帮助构建具有脱机安装依赖项的控制盘包。
对于简单的项目来说,将所有源代码放在一个文件夹中并将其作为一个整体复制就足够了。您可以使用git将代码推送到中央存储库并将其拉到服务器,而无需构建任何包。Fabric和Ansible是两种可以帮助您自动化部署过程的工具。(例如,远程运行
git pull
并删除所有pyc
文件)。如果您在项目之间共享了依赖关系,pip和wheels是鸡蛋的现代替代品:
(来自pip docs)
您可能需要考虑查看Twitter的PEX库,它可以从python包创建可执行文件:https://pex.readthedocs.org/en/latest/whatispex.html
相关问题 更多 >
编程相关推荐