簡體   English   中英

我的 python 安裝損壞/損壞。 我如何解決它?

[英]My python installation is broken/corrupted. How do I fix it?

我在我的 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 仍然有效。

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

通過yum安裝python27包很容易解決這個問題。 它應該安裝在/usr/bin ,並且可能會覆蓋應該指向 2.6 的/usr/bin/python符號鏈接。 如果確實如此(只需在/usr/bin運行ls -l python*即可查看),請刪除符號鏈接並將其指向 2.6。 接下來為/usr/local/bin/python創建一個指向/usr/bin/python2.7的符號鏈接。 最后,修改你的~/.bashrc~/.bash_profile (無論你使用哪個),在你的路徑中的/usr/bin之前有/usr/local/bin

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

在文件的最后。 這樣, /usr/bin/python仍然鏈接到 Python 2.6,這是系統所期望的,當您在命令行中運行python時,它將啟動 2.7。 您也不應該對yum腳本進行任何更改 - 只是在不了解您在做什么的情況下用python2.6全面替換python不是一個好主意。

如果可能,我還建議在/usr/local/bin安裝 Python 3.4,按照慣例,二進制文件將命名為python3 即使它安裝在/usr/bin ,您仍然可以選擇運行python3python3.4來指定您想要的版本。 我在 CentOS 系統上工作,該系統安裝了從 2.4 到 3.4 的每個版本的 Python,都在/usr/local/bin (我確定這是手動完成的,而不是通過yum ),而唯一的python*/usr/bin是 2.6。 我找不到適用於 RedHat 的python3包(我可能看的不夠仔細),因此我建議從源代碼(撰寫本文時為 3.4.3)構建最新版本。 將 tarball 解壓縮到合適的目錄中,查看 README 文件,然后在Python-3.4.3目錄中運行./configure --help以查看選項是什么,以及是否需要更改任何內容。 只要您安裝了gcc ,並且不需要鏈接到任何奇怪的數學庫或任何東西,您就應該能夠運行:

./configure
make
make test
sudo make install

它將安裝到/usr/local/bin 檢查make步驟結束時的消息,因為它會列出它無法在那里構建的所有模塊。 失敗通常是因為您沒有安裝所需的庫,因此請查看detect_modules()函數(從第 449 行開始,一直延伸到第 1564 行)的基本目錄中的setup.py 安裝 lib 和-devel包,以便獲得必要的頭文件。

如果您想安裝最新的 2.7.9,而不是 RH 的 2.7.5,也可以遵循相同的過程。 2.7.9 的主要(在我看來)優點之一是默認安裝了pip ,這使得第三方模塊的安裝變得更加容易。

祝你好運!

對我來說,除了這個沒有任何效果:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM