0

我需要将用于 linux/unix 的 python 2.7 和 3.4(从源代码构建)安装到网络上的一个目录中,而不是最终使用它的位置。

即包含安装的目录必须是可移植的和独立的。

因此,似乎“依赖于安装的默认值” sys.path 之类的东西应该相对于 python 安装的当前位置进行定义。

但是, --prefix 和 --exec_prefix 需要绝对路径。

例如:我可能会在“/stage/tools/python”中创建安装,然后将“python”目录复制到“/tools/knights/ni”。如果我然后调用“/tools/knights/ni/$platform/bin/python”,python 应该从“/tools/knights/ni/”下的安装中找到它需要的一切

如何进行便携式、独立安装?

非常感谢您的任何指导。

4

1 回答 1

1

您可能无法进行可移植(如:跨不同操作系统版本、拱门工作),但virtualenv可以帮助您创建自包含安装。

Virtualenv 有一个--relocatable选项可以解决挂载点不同的情况,但根据文档它有问题,我从未使用过它。然而,virtualenv 是一种 hack,它迫使 Python 做一些它原本不打算做的事情(被移动到一个独立的目录),而你最终总是会用它来打自己的脚。

我更愿意做的pip freeze > requirements.txt是轻松安装所有依赖项。那,和/或Docker。如果您需要修补 Python 本身或有自定义构建配置,我更愿意让用户./configure && make && make install自己做。

于 2015-07-22T23:41:13.237 回答