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