我查看了
virtualenv
文档,还在 StackOverflow 上发现了 这个问题。但是,既不回答我的问题,又可能会漏掉一些东西,所以我才问。
如何创建一个包含virtualenv
且不依赖于“主机”的(系统范围)
python
的
python
环境? IE。我想要一个完全独立的
virtualenv
,它有自己的从源代码编译的 Python 2.7。另一个属性很重要:由于
virtualenv
与
chroot
不同,
python
内的
virtualenv
必须处理不同的绝对路径。我认为最接近我想要的是一个内部有自己的Python安装的
virtualenv --relocatable
。我怎样才能实现这一目标?
基本原理
我需要的属性:
virtualenv
环境应该是完全独立的(带有所有库等的完整Python)
python
应该可以工作,无论部署时的绝对路径如何
$ENV/bin/python
似乎可以做到这一点,但它似乎也依赖于系统范围内安装的
python
。我想完全消除这种依赖,推出我自己的 Python。
virtualenv --relocatable
一样,但也需要包含 完整的 Python 安装。
virtualenv
环境(目前仅各种 Linux 发行版)。
./configure --prefix=/dest
make && make install
/dest
。移动此目录应该不是问题,如果这就是您所说的“可重定位”的意思。要使用此安装而不是系统 python,只需确保将
/dest/bin
放在标准位置之前的
PATH
上即可。如果这对您来说还不够,您可以使用此 python 安装来设置 virtualenv...
indygreg/python-build-standalone 和 astral-sh/uv 的形式存在,满足了我当时的大部分需求。
将这个留给那些仍在寻找并对十年前的答案不满意的人。