将python安装到网络上的可移植,自包含目录中

时间:2015-07-22 23:32:53

标签: python sys.path

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

即。包含安装的目录必须是可移植的并且是自包含的。

因此,看起来像是"依赖于安装的默认"应该相对于python安装的当前位置定义sys.path。

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

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

如何进行便携式自包含安装?

非常感谢任何指导。

1 个答案:

答案 0 :(得分:1)

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

Virtualenv有一个--relocatable选项可以解决这个问题,如果挂载点不同,但根据文档有问题,我从未使用它。然而,virtualenv有点像黑客一样迫使Python做一些它不想做的事情(被转移到一个自包含的目录),而你最终总是用自己的脚来拍摄自己。

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