我希望创建以下内容:
一种可移植的python版本,可以在任何系统上运行(安装了python的任何早期版本或未安装python),并预先配置了各种python包(如django、lxml、pysqlite等)
我发现最接近上面的是virtualenv,但这只是到目前为止。
如果我在一台机器上为python打包了一个不错的virtualenv,它包含指向它需要的许多库的sym链接。我可以获取这些符号链接并将其转换为实际文件,但如果我尝试将整个目录移动到另一台计算机上,则会在seg故障之后得到seg故障。
要在不同的机器上启动python,我使用:LD_LIBRARY_PATH=lib/ ./bin/python
在lib/I中有我从原始机器复制的所有共享库。这里的问题是,这些共享库可能依赖于我没有包括在内的其他共享库,因此在其他linux发行版上执行此操作不起作用。可能是因为它落回了安装在系统上的旧的共享libaries,而这些libaries与我复制的内容不兼容。
有人知道怎么让这个工作吗?这可能吗?
编辑:
为了澄清这一点,所需的结果是创建一个python二进制文件的tar.gz和相关的包(django、lxml、pysqlite等),这些包可以在任何基于linux的系统(如ubuntu 8.04、redhat 5、suse 11等)上提取和运行,所有的32位发行版都不受本地安装的python版本的影响。