web-dev-qa-db-ja.com

私のコンピューターには複数のpython=がありますか?それらの1つをアンインストールする方法は?

pip install - U numpyがpythonのnumpyバージョンを更新しないという問題が発生しました。これは https://stackoverflow.com/questions/26390895/why-isnt-pip-updating-my-numpyに似ています) -and-scipy

したがって、自分のコンピューターに複数のpythonがあるかどうかは疑問です。

which -a pythonを実行すると、次が返されます。

/usr/bin/python
/bin/python

これは、コンピューターに2つのpython=がコンピューターにあることを意味しますか?これがtrueの場合、それらの1つをアンインストールします。yum remove pythonを試しました。ただし、これらの2つのpythonは引き続き表示されます、which -a pythonを実行したとき。

6
bright

which pythonは、コマンドpythonrunになる実行可能ファイルのみを通知します。つまり、-aを指定しない限り、通常は引数ごとに正確に1つの結果を返します。 $PATH環境変数内。ただし、すべての場合で同じpythonコマンドです。

システムにpython インストール済みのバージョンがいくつあるかを知りたい場合は、locate /python | grep /binまたはls -l /usr/bin/python*またはyum --showduplicates list pythonを使用することをお勧めします。

2つのpythonインスタンスについては、 可能性はそれらの1つが[シンボリック]リンクであるwhich -a python | xargs ls -liで確認してください。 pythonの特定のバージョンを削除する場合は、yumコマンドラインでそのバージョン番号を指定する必要があります(例:yum remove python-2.7.2.el5s2)。

[〜#〜] edit [〜#〜]mattdm レポートと同様に、/binはFedora上の/usr/binへのシンボリックリンクです。したがって、これらの場所からrmを使用してpythonを削除することはできません。そうしないと、pythonを削除してしまうことになります。-iの引数この場合、which -a python | xargs ls -lilsは、両方のpythonインスタンスが同じiノードを持っていることを示します。

パッケージマネージャーの目的は依存関係の要件に従ってバージョンを適切にプルすることなので、バージョン固有のパッケージを手動で削除することは必須ではないことに注意してください。特定のバージョンがインストールされている場合、それは正当な理由でそこにあります。 1つを削除すると、他のパッケージも削除される可能性があります。

最後に、ディストリビューションのパッケージマネージャを使用して、パッケージとその依存関係、特にディストリビューションのリポジトリに属する​​ものをインストールしてください。私は間違っているかもしれませんが、pipを頼りにいくつかのメインパッケージを更新すると、パッケージマネージャーが混乱し、おそらく手作業で満足している依存関係がめちゃくちゃになります。 (実際、それは逆です:pipに依存関係を管理させると、yumを台無しにしてしまう可能性があります。)

4
user86969

最近のすべてのFedoraリリースでは、/bin/usr/binへのシンボリックリンクです。つまり、/ binを見ると、実際には/ usr/binにリダイレクトされます。ただし、both$PATH(hmmm;おそらくクリーンアップする必要があります)に表示され、それがwhich -a pythonで表示されるものです。実際に同一のバイナリ。

なので、ここでは問題ありません。

(ただし、pipとrpm(yum)をインストールするとcan、混乱する結果が生じ、場合によっては重複したバージョンのものがインストールされることに注意してください。)

3
mattdm

皆さん、ありがとうございました。問題は解決されました。私のコンピューターにはpython3.3とpython2.7があります。 yum remove python3でpython3.3を削除します。

派手な問題は追加によって解決されます

export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/site-packages/

./bashrc

0
bright