我的 python 安装已损坏/损坏.我该如何解决它



我在我的RedHat Linux版本7服务器上遵循了这些说明(最初刚刚安装了Python 2.6.x):

指令的开头

安装构建工具

sudo yum install make automake gcc gcc-c++ kernel-devel git-core -y

安装 Python 2.7 并更改默认的 Python 符号链接

sudo yum install python27-devel -y
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python

yum 仍然需要 2.6,所以写进去并备份脚本

sudo cp /usr/bin/yum /usr/bin/_yum_before_27
sudo sed -i s/python/python2.6/g /usr/bin/yum
sudo sed -i s/python2.6/python2.6/g /usr/bin/yum

现在应该显示 2.7.5 或更高版本:

python -V 

指令结束

上述命令和注释摘自:

http://www.lecloud.net/post/61401763496/install-update-to-python-2-7-and-latest-pip-on

python -v 命令返回了以下内容:

-bash: python: command not found

现在好像我没有安装Python。 我不想让百胜坏掉。 我尝试安装Python 3.4。

whereis python显示了这一点:

python:/usr/bin/python2.6/usr/bin/python2.6-config/usr/bin/python/usr/lib/python2.6/usr/lib64/python2.6/usr/local/bin/python2.7/usr/local/bin/python3.4m-config/usr/local/bin/python2.7-config/usr/local/bin/python3.4/usr/local/bin/python3.4m/usr/local/lib/python2.7/

usr/local/lib/python3.4/usr/include/python2.6/usr/share/man/man1/python.1.gz

我现在应该怎么做? 我想要一个Python的工作安装。 对于我正在做的某些事情,我需要它是 2.7 或更高。 我希望yum仍然工作。

do

sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python

我在将 ubuntu 18 升级到 19 时遇到了同样的问题,这让它:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python
do-release-upgrade

从:

https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1825655

对我来说

,除了这个之外,什么都没有用:

unlink /usr/bin/python3
ln -s /usr/bin/python3.7 /usr/bin/python3

信用:https://josephgeis.dev/2020/04/upgrading-to-ubuntu-20-04-python3/

这可以通过 yum 安装 python27 软件包轻松修复。它应该安装在 /usr/bin 中,并且可能会覆盖应指向 2.6 的/usr/bin/python符号链接。如果是这样(只需在/usr/bin中运行ls -l python*即可查看),请删除符号链接并将其指向 2.6。接下来,为指向/usr/bin/python2.7/usr/local/bin/python创建一个符号链接。最后,修改您的~/.bashrc~/.bash_profile(无论您使用哪种)以在 PATH 中/usr/bin之前具有/usr/local/bin

export PATH=/usr/local/bin:$PATH

在文件的最后。这样,/usr/bin/python保持链接到Python 2.6,这是系统所期望的,当你在命令行运行python时,它将启动2.7。您也不必对yum脚本进行任何更改 - 只是在不了解您在做什么的情况下将python替换为python2.6并不是一个好主意。

如果可能的话,我还建议在/usr/local/bin中安装 Python 3.4,其中二进制文件将按照惯例命名为 python3。即使它安装在 /usr/bin 中,您仍然可以选择运行python3python3.4来指定所需的版本。我在一个 CentOS 系统上工作,该系统安装了从 2.4 到 3.4 的每个版本的 Python,全部在/usr/local/bin中(我确定这是手动完成的,而不是通过 yum 完成的),而/usr/bin中唯一的python*是 2.6。我找不到 RedHat 的python3软件包(我可能没有足够努力),所以我建议从源代码构建最新版本(截至撰写本文时为 3.4.3)。将压缩包解压缩到合适的目录中,查看自述文件,然后在Python-3.4.3目录中运行./configure --help以查看选项是什么,以及是否需要更改任何内容。只要你安装了gcc,并且不需要链接到任何奇怪的数学库或任何东西,你应该能够运行:

./configure
make
make test
sudo make install

它将安装到/usr/local/bin.检查make步骤结束时的消息,因为它会列出无法在那里构建的任何模块。失败通常是因为您没有安装所需的库,因此请在 detect_modules() 函数的基目录中查找setup.py(从第 449 行开始,一直延伸到第 1564 行)。同时安装 lib 和 -devel 包,以便获得必要的标头。

如果要安装最新的 2.7.9 而不是 RH 的 2.7.5,也可以遵循相同的过程。2.7.9 的主要优势之一(在我看来)是默认安装pip,使第三方模块安装变得更加容易。

祝你好运!

最新更新