我的python安装已损坏/损坏。我如何解决它?

时间:2015-03-08 00:21:50

标签: python linux python-2.7 redhat yum

我在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或更高。我希望百胜还能继续工作。

4 个答案:

答案 0 :(得分:3)

待办事项

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

答案 1 :(得分:1)

在将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

答案 2 :(得分:0)

通过python27安装yum包可以轻松解决此问题。它应该安装在/usr/bin中,并且可能会覆盖应该指向2.6的/usr/bin/python符号链接。如果确实如此(只需在ls -l python*中运行/usr/bin查看),请删除符号链接并将其指回2.6。接下来为/usr/local/bin/python创建指向/usr/bin/python2.7的符号链接。最后,修改您的~/.bashrc~/.bash_profile(无论您使用哪个),以便在您的路径/usr/local/bin之前获得/usr/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),而唯一{ python*中{1}}为2.6。我找不到RedHat的/usr/bin包(我可能看起来不够努力),所以我建议从source构建最新版本(撰写本文时为3.4.3)。将tarball解压缩到合适的目录中,查看README文件,然后在python3目录中运行Python-3.4.3以查看选项是什么,以及是否需要更改任何内容。只要你安装了./configure --help,并且不需要链接到任何奇怪的数学库或任何东西,你就应该能够运行:

gcc

它将安装到./configure make make test sudo make install 。检查/usr/local/bin步骤末尾的消息,因为它会列出它无法在那里构建的任何模块。由于您没有安装必需的库,通常会发生故障,因此请查看make函数的基目录中的setup.py(从第449行开始,一直延伸到第1564行) 。安装lib和detect_modules()包,以便获得必要的标题。

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

祝你好运!

答案 3 :(得分:0)

对我来说,除了这一项没有任何作用:

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

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