Centos -没有名为yum的模块

pod7payv  于 2022-11-07  发布在  其他
关注(0)|答案(2)|浏览(211)

使用环境:Aws EC2,红帽-百
在安装awscli的时候,由于awscli 2和python2.6不兼容,我不得不安装python 3.7。但是在安装的时候,我删除了所有现有的python包,包括一次默认的系统使用。
现在,当我尝试执行yum时,它给出以下错误:
/usr/bin/python文件夹中的文件:错误的解释器:没有这样的文件或目录
然后,我安装python2.6(也尝试了2.7)手动与以下方式.

sudo wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 

sudo tar xzf Python-2.7.9.tgz

cd Python-2.7.9

sudo ./configure --enable-optimizations

sudo make & sudo make install

但它再次给出相同的错误:
当我更改默认的python目录时

sudo vim `which yum`

/usr/local/bin/python2.7并尝试了/usr/local/bin/python2.6
同样,对于2.7,我尝试添加以下内容

sys.path.append('/usr/local/bin/python2.7/site-packages')
sys.path.append('/usr/lib64/python2.7/site-packages')

但现在它给出了以下错误。
没有名为yum的模块

yruzcnhs

yruzcnhs1#

我不确定这是否是一个有效的答案,但我已经投入了几个小时,结论是重新安装系统。
另一种方法可能是彻底调查所有软件包的依赖关系,手动下载rpms并使用rpm命令更新,但这又需要几个小时。因为我们很快就要重新安装整个系统,所以这不是一个大问题。
我们将使用Debian 11,而不是CentOS。CentOS 7真的很老了。
需要注意的是,如果新的Python首先是“altinstall“而不是“install“,这个问题就不会发生。

nqwrtyyt

nqwrtyyt2#

好吧,您知道它需要哪个python(路径)--假定是原始系统上的python 2.6
/usr/bin/python文件夹中的文件:错误的解释器:没有这样的文件或目录
您知道python从头开始构建时安装到的位置:
/usr/本机/bin/python2.6
一般来说,删除系统中的python安装不是一个好主意,这就是为什么会有像pyenv这样的工具。
回到您的问题-您可以暂时创建一个别名,或者临时在shell中创建,或者永久地在~/.bashrc中创建(假设您使用bash):

alias python='/usr/local/bin/python2.6'

对于您的用户和会话,这将使python链接到/usr/local/bin/python2.6
对了,这样的问题:
没有名为yum的模块是因为仅为特定的python版本安装了依赖项,即:


# This

python2.6 -m pip install requests

# installs 'requests' for python2.6 only.

# That means for python2.7, there is no 'requests' module.

我只能推荐使用pyenv来管理系统中的多个python版本,以及使用python依赖管理工具(例如poetry)来定义依赖关系,并根据python版本、约束和依赖关系的依赖关系正确安装它们。

相关问题