Python 编译程序,使其独立于系统

Python 编译程序,使其独立于系统,python,gcc,compilation,makefile,Python,Gcc,Compilation,Makefile,我想以一种最大程度上与系统和系统提供的库和程序分离的方式安装(比如说)Python。它应该在它所在的目录中编译,并且只需要访问系统提供的需要编译的内容。(这与从源代码编译(参见“源代码下载和编译”一节)的方式类似。)但是,我不确定通常如何做到这一点。运行/configure将创建一个生成文件,该文件是为使用系统提供的库而定制的,我在编写生成文件方面没有足够的经验;特别是对于具有广泛依赖性的程序,并且考虑到我需要为一系列编程语言执行此操作的事实。你能给我一些好的建议,如何以一种比手动编写Makef

我想以一种最大程度上与系统和系统提供的库和程序分离的方式安装(比如说)Python。它应该在它所在的目录中编译,并且只需要访问系统提供的需要编译的内容。(这与从源代码编译(参见“源代码下载和编译”一节)的方式类似。)但是,我不确定通常如何做到这一点。运行
/configure
将创建一个
生成文件
,该文件是为使用系统提供的库而定制的,我在编写生成文件方面没有足够的经验;特别是对于具有广泛依赖性的程序,并且考虑到我需要为一系列编程语言执行此操作的事实。你能给我一些好的建议,如何以一种比手动编写
Makefile
更有效的方式来实现这一点吗


(我目前正在运行Arch Linux,但我希望这是一个更一般的问题,即解决方案应该是通用的。)

在过去几周里,我一直在研究不同的选项,我提出了两个可能的解决方案,我觉得满意

    (1) LXC
    (2) Docker
两者都提供了类似的解决方案,因此我将在这里集中讨论
LXC

一个
LXC
容器允许我为我想要的任何程序建立一个隔离的环境。我认为在这里解释什么是
LXC
以及它是如何工作的是没有用的,因为StackExchange网站上已经有这么多的问题和答案。因此,我整理了一组链接,这些链接指向StackExchange问题,并提供了有关
LXC
的良好答案。我希望人们会觉得这很有用:

(A) StackExchange站点: 简单概括地介绍
LXC
是什么:

另一项一般性介绍:

类似的问题:

详细解释并总结
Docker
LXC
之间的差异:

解释
Docker
/
LXC
和成熟的
VM
之间的区别:

(B) 外部站点:
LXC
:。

/code>/configure的一个很好的一般性介绍通常允许您选择所有路径,从中它将尝试查找所需的库。好的,我的默认策略是找出Python的所有依赖项(坚持我的原始示例),将它们下载到我希望编译python的文件夹中。然后我告诉
/configure
它应该只查看-让我们调用依赖项的文件夹“deps”-,创建我的
Makefile
,然后简单地运行
make
。这似乎是个好主意吗?从:D开始听起来不是个好主意,但既然你已经开始这么做了,你也可以使用一个工具(我忘了它的名字)来限制程序只访问它的子文件夹。这样,您可以保证您需要的所有文件都存在。