【发布时间】:2021-01-01 09:04:06
【问题描述】:
是否有 Python 的编译选项会阻止创建指向新创建的二进制文件的 python3 符号链接?
我正在尝试在单个系统上构建和安装多个 python 版本,以便与 CI 系统一起使用,以使用多个 python 版本运行测试。特别是 Python-3.6.6、Python-3.7.4 和 Python-3.8.0。
构建和安装过程如下(假设源码已经下载并解压到/usr/src/python):
cd /usr/src/python
./configure \
--prefix=/usr/ \
--build=x86_64-linux-gnu \
--enable-loadable-sqlite-extensions \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--without-ensurepip
make -j "$(nproc)"
make install
当上述过程完成时,我最终得到了构建的二进制文件(例如,/usr/bin/python3.7 用于 Python-3.7.8),还有一个从 /usr/bin/python3 到该二进制文件的符号链接。我最后安装的任何版本的 python 都会覆盖链接到自身的符号链接,无论它之前链接到什么:
我的问题是:是否有一个标志我可以传递给configure 脚本或使该标志完全禁用创建此符号链接?作为我自己的设置过程的一部分,我可以创建指向我想成为“默认”python3 版本的二进制文件的符号链接,因为我不想依赖安装顺序来确定我的默认版本。
我查看了 python 开发人员文档,但无法找到构建参数的完整列表和有关它们的功能的文档。这也不是我的专业领域,所以我无法在源代码中找到我正在寻找的东西(但如果有人能指出我将不胜感激)。
【问题讨论】:
-
您在寻找
make altinstall吗? -
是的,这正是我正在寻找的@DeepSpace。如果您留下答案,我将对其进行验证。非常感谢!
标签: python build compilation