virtualenv 打包在其他服务器环境配置的方法

要在n多服务器端部署python的应用,虽然python本身是跨平台的,当时好多第三方的扩展却不一定都能做到各个版本兼容,即便是都是linux,在redhat系列和ubuntu系列之间来回导也是个很让人头痛的事.
   找到这个virtualenv,整个的clone一个python环境,可以在这个虚出来的环境里面配置一番,然后整个打包发布,这样在其他linux版本上部署时就会非常简单,实在是部署python服务器端应用的必备! 过程记录如下:
    首先到 http://pypi.python.org/pypi/virtualenv 下载,安装virtualenv,可以看到它是从workingenv和virtual-python继承而来的: """
     virtualenv  is a successor to  workingenv , and an extension of  virtual-python
    """
    起作用的应该就virtualenv.py一个文件,把它考出来,放到当前目录,
    ,执行:
    python virtualenv.py test --no-site-packages
    test里面会产生一个bin目录和一个lib目录,bin里面有python,activate,easy_install,而且以后你要装django,django-admin.py也会放到这里,完全跟原来的python一样,(其实就是考过来然后设一下路径,不过还是很赞!),lib目录下有site-package,装的lib会放到这里来.
     加了 --no-site-packages后就不会用原来的python里面的库,只用当前lib/site-packages里面新装的库!
    执行:
    . bin/activate
    它会把原来的路径去掉,把当前环境的python路径设置好。你会注意到prompt变了,当前的目录名被放到了prompt里面去,提示你现在用的是新的python环境。

    剩下的就是在这个虚拟python环境中安装配置你的服务应用,
    装完后修改一下bin/activate脚本,让它自动把环境设置好,服务启动起来,又一个地方要修改:
    找到设置VIRTUAL_ENV变亮的地方,改成如下:
      export VIRTUAL_ENV=`pwd`
    如果你不熟悉shell,那么要注意pwd两边的不是单引号'而是` 
    然后就可以打包带走了,到另一台server上,只要简单的解包,然后执行 
    . bin/activate 
     就一切ok了

你可能感兴趣的:(python)