linux运维和python开发_在Linux中轻松部署Python和应用程序

我在服务器端开发了相当大的

python应用程序,包括所有数据库连接,文件提取,解析,命令行调用.

它成为部署的噩梦,因为我在标准python lib之外使用了许多第三方模块.我忘记了他们.特别是不同的Linux操作系统使用它们的不同版本,因此使用OS的包管理器安装它们已不再适合.

我想在所有一个包中部署它们,包括我正在使用的当前python版本(大多数OS仍然附带Python 2.5,6我正在使用2.7和2.7特定功能.).

此外,我必须教会客户端如何部署,以便他们可以在其他服务器上测试.但他们不是Linux专家.我必须在一个脚本中或通过复制和粘贴来轻松实现.

有适用于Windows的Portablepython但是Linux没有任何东西.我从来没有使用python Packaging,因为我通常在我只托管的服务器上工作.

请告诉我python的可用包装和部署选项,包括所有已安装的python模块和python本身.

大多数Python包可以通过在部署中创建lib或类似目录,并将其添加到Python中的sys.path或外部的PYTHONPATH来部署,然后将包目录(通常在解压缩的目录中)复制到该目录中.这使您可以使用已部署的代码保存包,例如,在Mercurial存储库中.

部署Python本身会有点麻烦,但是如果你可以控制它的安装位置(例如/usr/local或/ opt),那么只需要./configure –prefix = …,make ,和sudo make install.然后,只要脚本标记为可执行文件,就可以通过#!/usr/local/bin / python这样的行启动脚本,将脚本指向该Python.

例如,如果您正在部署需要docutils的代码,那么您可以执行以下操作:

cd projectDir

mkdir -p lib

tar xzvf ~/Downloads/docutils-0.8.tgz

mv docutils-0.8/docutils lib

rm -r docutils-0.8

然后,此目录中的Python模块将在开头添加以下内容:

#!/usr/local/bin/python

import os

import sys

sys.path(os.path.join(os.path.dirname(sys.argv[0]), "lib"))

import docutils

Python在UnixLinux系统管理中的应用(影印版)》作者们还构建了一个可以免费下载的Ubuntu虚拟机。该虚拟机包含了这《Python在UnixLinux系统管理中的应用(影印版)》的源代码,还可以用来运行书中的实例,包括SNMP、IPython、SQLAlchemy许多其他工具。《Python在UnixLinux系统管理中的应用》展示了Python语言如何提供一种更加高效的方式来处理UnixLinux服务器管理工作中的各种任务。《Python在UnixLinux系统管理中的应用(影印版)》的每一章都会提出一个特定的管理问题,例如并发或数据备份,然后通过实际的例子提供基于Python的解决方案。你将学习使用Python开发一套属于自己的命令行工具,并用来解决一系列范围很广的问题。通过《Python在UnixLinux系统管理中的应用(影印版)》及其辅助虚拟机,你将学习如何打包并部署Python应用程序库文件,以及如何编写在多个UnixLinux平台下都运行良好的代码。 通过这《Python在UnixLinux系统管理中的应用(影印版)》,你将发现Python是怎样帮助你: ·读入文本文件并提取信息 ·使用线程派生子进程的选项并发地运行多个任务 ·使用网络工具从一个进程传送信息到另一个进程 ·创建更易互动的可点击图形界面工具 ·通过与SNMP交互来用程序监控大型多个集群机器 ·掌握IPython的命令环境来替代或增强Bash、Korn或Z-Shell的功能 ·将云计算集成到基础架构中并编写一个基于谷歌应用程序引擎的应用 ·利用定制脚本来解决特殊的数据备份的挑战 ·使用Django、SQLAlchemyStorm对象关系模型来与数据库交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值