如何创建像ActivePython这样的Python发行版?
基本上它只适用于linux (Centos 5)平台。理想情况下,它应该像ActivePython一样工作,因为我可以在一个位置解压缩它,例如nfs共享/路径/到/python,并让我的脚本使用它?
这通常在企业环境中是一个常见的场景,他们不希望你触摸标准服务器构建,例如不要使用rpm安装任何东西/污染/usr/local…等。
当然,我可以下载&使用ActivePython,但我对创建这样的发行版背后的过程更感兴趣。
编辑:这也是我不能使用EPEL Python 2.6包的主要原因。
从github https://github.com/wavetossed/pybuild查看这个Python构建脚本并在Debian或Ubuntu虚拟机上运行它。生成的Python tarball可以在包括Centos在内的任何Linux上运行,但构建脚本本身需要在Debian派生系统上运行。
因为构建使用RUNPATH/RPATH,所以可以将其解绑定到任何文件夹中,但是需要做一点修复才能使其运行,即运行包含的patchelf工具到——set-interpreter以使用二进制文件所在的新路径。这只影响python二进制文件和patchelf二进制文件,所以先将其解压缩到/data1/packages/python272,运行patchelf,然后将其移动到目录树中你想要的位置。
或者,您可以在构建它之前更改$TARG