从源代码构建python而不为二进制文件创建符号链接

时间:2020-09-14 15:51:29

标签: python build compilation

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

上述过程完成后,我最终获得了构建的二进制文件(例如,对于Python-3.7.8,为/usr/bin/python3.7),还有从/usr/bin/python3到该二进制文件的符号链接。无论我之前安装的是哪个版本的python,无论之前链接的是什么,它都会覆盖符号链接以链接到自身:

我的问题是:是否可以将标记传递给configure脚本或使该标记完全禁用创建此符号链接的标志?在我自己的设置过程中,我可以创建要成为“默认” python3版本的二进制文件的符号链接,因为我不想依赖安装顺序来确定默认版本。

我已经阅读了python开发人员文档,但是无法找到有关构建参数和其功能的文档的完整列表。这也不是我的专业领域,因此我无法在源中找到我想要的东西(但是如果有人可以指出我的意思,将不胜感激)。

1 个答案:

答案 0 :(得分:2)

Output when used absolute url in jsp file for Form action正是为此而制作的:

make install可以覆盖或伪装python3二进制文件。因此,建议使用make altinstall而不是make install 仅安装exec_prefix/bin/pythonversion

相关问题