Fedora16(python2.7)で利用可能なバージョンよりも新しいバージョンのpython(3.2.3)をインストールしました。
そしてyum
が機能しなくなりました。次のエラーが表示されます。
[root@localhost yum-3.4.3]# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
エラーの解決方法を教えてください。パッケージを更新またはインストールできないので、役に立ちます。
yum
はPython3
をサポートしていないためです。コマンドvi /usr/bin/yum
を実行し、最初の行で/usr/bin/python
を/usr/bin/python2
に変更します。したがって、Python2
の代わりにPython3
でyum
コマンドを実行できます。
インストールされていると思いますPython 3.2.3ソースから、最後のコマンドとして「make install」を使用しました。このコマンドには、システムにインストールされたバージョンのコマンド「python」を置き換えるという残念な副作用があります。 「make altinstall」を使用しても「python」は置き換えられません。
コマンド「python」は「python2」へのシンボリックリンクであり、「python2.7」へのシンボリックリンクです。次のコマンドを実行すると、「python」を復元できるはずです。
cd /usr/bin
Sudo ln -s python2 python
この問題は、ユーザーがpython3にアップグレードしたときに発生します。単にファイルを編集して->/usr/bin/yumに変更し、最初の行を-> "#!/ usr/bin/python2"に変更します。
上記の解決策は、すべてのyum依存関係の問題を解決するものではなく、以下のコマンドを実行することをお勧めします。
Sudo ln -s/usr/local/bin/python3/usr/bin/python3(最新としてマークpython python3として))
Sudo ln -sf /usr/bin/python2.7/usr/bin/python(nake 2.7をデフォルトのpythonとして)
ありがとう、ダマン
ダマンビルに感謝!/usr/bin/yumの行を変更するとうまくいきました!
これは少し外れたトピックであり、削除される可能性がありますが、誰かを助けるかもしれません。
これらは、CentosにPython 3.7をインストールして、yumエラーを修正するために使用した手順です。
https://www.python.org/ からダウンロード
tar -xvf
./configure --enable-optimizations
make
make install
OR
make altinstall
make altinstallは、デフォルトの置き換えを防止するために使用されますpythonバイナリファイル/usr/bin/python.
cd /usr/bin
rm python
出力:rm:シンボリックリンク「python」を削除しますか? y
whereis python3.7
OUTPUT: python3: /usr/local/bin/python3.7
/usr/local/bin/python3.7 --version
OUTPUT: Python 3.7.0
ln -s /usr/local/bin/python3.7 python
python --version
出力:Python 3.7.0
File "/bin/yum", line 30
except KeyboardInterrupt, e:
SyntaxError: invalid syntax
vi /usr/bin/yum
#!/usr/bin/python2