非root用户安装glibc(python版本问题)

背景:
我要在linux系统下安装glibc,
我无法使用root权限。
环境中默认python2。
glibc要求使用python3安装。
我已经在我的路径下安装了python3。

问题:
我作为一个非root用户如何更改系统默认的python版本?或者我如何在config过程中指定使用我安装的python3来安装glibc?

备注:
可以指导我作为非root用户在如背景所述的环境中成功安装glibc的答案是被采纳的必要条件。

感谢各位的时间。

学习下搭建pyenv,可以切换py版本

有个非root用户配置python版本的教程,按照步骤配置一下:

可以下载python的源码来进行编译安装,但安装目录需要指定到有权限的目录,再在环境变量里添加source即可!

非root账户下Glibc安装
非常详细,可以借鉴下
https://blog.csdn.net/weixin_44466025/article/details/119671969

参考GPT和自己的思路:作为非root用户修改系统默认的python版本相对困难,但你可以在编译glibc时手动指定要使用的python版本:

  1. 首先,确保你已经将Python 3安装到了你的路径中,并且你有权限运行它。
  2. 下载glibc源代码并解压。
  3. 运行./configure命令,但加上以下选项:CC='gcc -m32' python=/path/to/python3
    这个选项会告诉编译器使用/path/to/python3作为Python解释器。注意将路径替换为你Python 3的实际路径。
  4. 然后运行make和make install完成编译和安装过程。

这些步骤应该可以在非root用户权限下编译和安装glibc,但仍可能会遇到权限问题。

安装包链接Index of /gnu/libc/

注:不同的安装包可能有一些差距,最主要的是对其依赖的Linux内核版本、gcc版本、gmake、ld、bision版本都有一定的要求,不同的版本要求不同。我之前就是一直提示gcc的版本太老,然后就想着要升级gcc,gcc升级也不是很容易,就卡死了好几天。最后发现,不是gcc的版本太老,而是gcc的版本太新了!所以,对于不同的glibc版本,可以看解压包下的INSTALL文件,查看依赖包要求的具体版本。

以下答案由GPT-4.5Plus大模型(语音)与博主A努力中.......共同编写:

作为非root用户在Linux环境下安装glibc,有以下几种方法:

  1. 使用virtualenv和virtualenvwrapper工具创建一个隔离的Python 3虚拟环境,在该环境中安装glibc。这不需要root权限,可以避开系统默认的Python 2。
具体步骤是:
sudo pip install virtualenv virtualenvwrapper 
mkvirtualenv -p python3 glibc_env  # 创建Python 3虚拟环境
workon glibc_env   # 激活虚拟环境
pip install glibc   # 在虚拟环境中安装glibc

  1. 在安装glibc时,指定使用您安装的Python 3的路径。一般可以通过在配置参数中加入--with-python=/path/to/python3实现。
例如,在运行`./configure`之前,先export一个环境变量:
export PYTHON=/usr/local/bin/python3 
./configure --with-python=$PYTHON  # 使用环境变量指定Python路径
make && make install

  1. 修改Altinstall脚本,指定使用python3命令而不是python。然后运行 Altinstall脚本来编译和安装glibc。
例如,可以这样修改`Altinstall`脚本中的shebang行:
sed -i '1s/python/python3/' Altinstall 
./Altinstall  # 运行修改后的脚本进行编译和安装

  1. 如果glibc的安装过程调用的Python脚本比较少,也可以在文件开头添加shebang行,临时指定Python 3,然后再执行安装过程。
例如:
echo '#!/usr/bin/env python3' | cat - Altinstall > temp && mv temp Altinstall  
chmod +x Altinstall  
./Altinstall

这在安装结束后,记得将Altinstall中的shebang行改回python。

以上方法可以在非root权限和Python 2默认的Linux环境下成功安装需要Python 3的glibc。