

現在は、CentOS6.10を使っています。

表題の件ですが、pythonを入れ替えたのが原因です。  
元々は、python2.7.14を使っていて、python3.4.10をインストールしました。

yumを起動すると、下記のエラーが出ます。

>
[code]

>       File "/usr/bin/yum", line 30
>         except KeyboardInterrupt, e:
>                                 ^
>     SyntaxError: invalid syntax
>  
[/code]

色々googleで検索してみると、/usr/bin/yum の1行目を元使っていたpythonのバージョンに書き換えると使えるようになる！とありました。  
ですが、python3をインストールした時点で要らない物と勝手に解釈して、python2を消してしまったのです。

python2.7.14は元々、Python-2.7.14.tgz をダウンロードして解凍後、configureして、make && make
altinstall しています。  
今回も同じようにconfigureして、make && make altinstallしたのですが、下記のエラーが出てyumがなおりません。

>
[code]

>     There was a problem importing one of the Python modules
>     required to run yum. The error leading to this problem was:
>  
>        No module named yum
>  
>     Please install a package which provides this module, or
>     verify that the module is installed correctly.
>  
>     It's possible that the above module doesn't match the
>     current version of Python, which is:
>     2.7.14 (default, Oct 13 2019, 07:29:15)
>     [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)]
>  
>     If you cannot solve this problem yourself, please go to
>     the yum faq at:
>       http://yum.baseurl.org/wiki/Faq
>  
[/code]

yumを下記コマンドで入れなおしてみたのですが、上記エラーが出て修復できていません。

[code]

    rpm -Uhv --force http://mirror.centos.org/centos-6/6.10/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
    
[/code]

どなたか分かる方、ご指導をお願いいたします。  
全然わからなくて、涙目になっています。

よろしくお願いいたします。


CC BY-SA 4.0
2019-10-13T01:00:36.333
59676
2019-10-14T12:40:31.133
2019-10-13T02:55:00.760
2376
36185
question
python centos yum
yumが使えなくなりました。


`Python-2.x` と `Python-3.x`
では互換性が無いため、パッケージ名や実行コマンドでも区別が付けられています。(CentOSの標準パッケージでも両者は共存可能です)

`yum` コマンドは `Python-2.x` での動作を想定して書かれているので、`Python-2.x` が必須となります。

Python-2.7.14 もソースコードからインストールされたということですが、これも本来なら `/usr/local/`
以下などのパッケージ管理されたディレクトリとは別の場所にインストールしないとトラブルの元になります。

* * *

元々インストールされていた `Python-2.x` をどのように削除したのか分かりませんが(`yum`
コマンドからは依存関係で簡単には削除できないはず)、下記のリポジトリからパッケージを個別にダウンロードし、  
`rpm` コマンドで同時にインストール指定してみてください。

<http://mirror.centos.org/centos/6.10/os/x86_64/Packages/>

必要と思われるパッケージ

[code]

    python
    python-libs
    python-setuptools
    
[/code]

ローカルに保存したパッケージを同時にインストール指定

[code]

    $ sudo rpm -ivh python*.rpm
    
[/code]

依存関係で足りないパッケージやファイルがエラーとして表示されるかもしれませんんが、その場合にはそれらを一つずつチェックして `rpm`
コマンドでインストールしていく必要があります。

**コメントに対する追記**  
先に示したURLは、あなたが利用されているCentOSのバージョン = 現時点での最新版 (6.10)
向けのリポジトリです。一方で、依存性でエラーとして出ている `tkinter-2.6.6-66.el6_8` は末尾に `.el6_8` と付いている通り
CentOS `6.8` 時点のパッケージです。

上述のリポジトリURLを辿っていくと、古い update バージョン向けのパッケージは <http://vault.centos.org/>
にアーカイブされている事が分かります。  
そのままURLを掘り下げていけば以下のURLにたどり着くはずです。

<http://vault.centos.org/6.8/updates/x86_64/Packages/tkinter-2.6.6-66.el6_8.x86_64.rpm>


CC BY-SA 4.0
2019-10-13T07:07:56.643
59682
2019-10-14T12:40:31.133
2019-10-14T12:40:31.133
3060
3060
59676
answer