我需要为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 /"下找到它安装所需的一切。
如何进行便携式自包含安装?
非常感谢任何指导。
答案 0 :(得分:1)
您可能无法进行移植(如:适用于不同的操作系统版本,拱门),但virtualenv
可以帮助您创建自包含的安装。
Virtualenv有一个--relocatable
选项可以解决这个问题,如果挂载点不同,但根据文档有问题,我从未使用它。然而,virtualenv有点像黑客一样迫使Python做一些它不想做的事情(被转移到一个自包含的目录),而你最终总是用自己的脚来拍摄自己。
我更喜欢的是只需要pip freeze > requirements.txt
来轻松安装所有依赖项。那,和/或Docker。如果您需要修补Python本身或拥有自定义构建配置,我更愿意让用户自己./configure && make && make install
。