便携式Linux Python
项目描述
Plipy是一套用于构建和管理便携式Linux Python环境的工具。它旨在让plipy环境能够在今天使用的绝大多数主要Linux发行版上运行,以及许多多年以前就应该淘汰的Linux发行版。它类似于便携式Python,但目标平台是Linux而不是Windows。
其核心技术是
使用autopackage构建工具隐藏较新的glibc符号,这样编译后的库可以在较老的Linux系统上无需修改即可使用。
将所有共享库的rpath设置为合理值,这样无论plipy环境位于何处,其依赖项都可以找到。
构建plipy环境
要构建plipy环境,您至少需要一个较新的gcc版本和“chrpath”工具。使用以下命令初始化一个新的plipy环境:
#> plipy PATH/TO/ENV init
这将构建并设置一个基本的Python安装(目前为python 2.6.5),包括setuptools和pip。大多数Python包可以直接使用pip安装。对于需要更复杂环境的包,plipy提供了一个“食谱”,您可以使用例如以下命令安装它们:
#> plipy PATH/TO/ENV install py_wxpython
这将构建并安装一个经过修改以更便携的wxPython版本。
使用plipy环境
在plipy环境的顶层,有三个名为“python”、“plipy”和“shell”的shell脚本。这些脚本设置了一些相关的环境变量,然后加载适当的命令。
以下是如何使用pip安装第三方包的示例
#> #> PATH/TO/ENV/shell plippy(ENV):$ plippy(ENV):$ pip install esky ...lots of output as esky is installed... plippy(ENV):$ plippy(ENV):$ <ctrl-D> #>
它有什么好处?
为什么,它可以用于所有像便携式Python一样好的用途,只是在Linux上而不是Windows上!将其用作方便的便携式脚本或测试环境,或者运行多个Python版本。
它特别适用的一点(实际上,这也是它被创建的原因)是构建Linux上的冻结Python应用程序。Plipy附带cx-freeze和bbfreeze的修补版本,可以构建具有与plipy环境本身相同便携性的独立应用程序 - 这意味着它们应该能够在从古老的Red Hat发行版到最新的Ubuntu发行版的所有环境中运行。