web-dev-qa-db-ja.com

/ usr / local / bin /のpythonを削除する方法

Python 2.7.9 in /usr/local/bin。今ではもう機能しません。別のPython in /usr/bin/しかし、パスには/usr/local/bin/ 最初。 2.7.9 Pythonを削除するにはどうすればよいですか?

7
Velrest

[〜#〜]免責事項[〜#〜]:それ以来多くのことを学びました。シェルまたはシェルセッションの環境変数を設定することをお勧めしますこの答えを使用するよりも。たとえば、システムのPython2インタープリターをPython3インタープリターに手動で再リンクすると、システムに大混乱が生じる可能性があります。この回答は慎重に使用してください。

シンボリックリンクをリセットするだけです。

まず、どのpythonを見つけます。

$ which python

私の場合、次のようになります:

/usr/local/bin/python

次に、シンボリックリンクが指す場所を見つける

$ file /usr/local/bin/python
/usr/local/bin/python: symbolic link to `/usr/bin/python'

次に、シンボリックリンクをデフォルトに戻します(この場合、デフォルトの/ usr/bin/pythonを使用します)。

アンインストールは不要です。

更新


それ以来、システム全体に影響を与えることなく、まったく同じ動作を実現するためのより良い方法をたくさん見つけました。

/usr/binに望ましくないpythonインストールがあり、/opt/binに必要なpythonインストールがあるとします。比較のポイントとして、/usr/binはPython 3.5であり、/opt/binはPython 2.7であるとしましょう。これは、後の微妙なエラーではなく、間違ったPythonインタープリターを使用するとすぐに結果を引き起こします。

アプリケーションのデフォルト

LinuxシステムでPythonスクリプトを実行するinterpeterを変更する場合は、GUIまたはxdg-mimeを使用してこれを変更できます(ウォークスルーは here にあります) =)。 macOSまたはWindowsの場合、これはGUIを使用して簡単に実行できます。

インタラクティブシェル

特定のシェルのデフォルトのPythonを変更したい場合、これを行う2つの良い方法があります。 1つは、特定の状況に対してデフォルト検索PATHを変更して/opt/binの前にusr/binを設定することですが、システムパッケージに多数の代替インストールがある場合、これも問題を引き起こす可能性があります。別の方法は、Pythonのエイリアスを使用するバージョンに設定することです。これは、インタープリターを変更するだけで、既存のコマンドを参照するための単なるショートカットであるため、推奨されるソリューションです。

たとえば、エイリアスを設定するには、次を使用できます。

alias python="/opt/bin/python"

デフォルトのパスを変更するには、次を使用できます。

export PATH=/opt/bin:$PATH

これらの行を~/.bashrcまたは~/.bash_aliases(後者はデフォルトでUbuntu専用です)に追加すると、これらのショートカットが、起動する対話型シェルのデフォルトになります。アプリケーションのデフォルトとインタラクティブなシェルスクリプトを組み合わせると、どのインタープリターがコードを実行するかを厳密に制御できますが、潜在的に重要なシステムファイルへの干渉は必要ありません。

7

あなたの質問には詳細が欠けています。最も適切なのは、実際にどのようにインストールしたかということですPython into /usr/local/bin

パッケージを/usr/localディレクトリ階層にインストールする最も一般的な方法は、ソースからコンパイルし、コンパイルおよびリンク後にSudo make installを実行することです。元の(圧縮されていない)ソースディレクトリをまだ削除していない場合は、次のコマンドを実行して、コンパイル済みのPythonパッケージを削除できます。

 Sudo make uninstall

ソースコードが削除されている場合は、ソースの再ダウンロードを再試行できます。

uninstallmakeターゲットがない場合(残念ながら、思っているよりも一般的です)、別の(不正な)オプションはfindコマンドを使用してすべてのファイルを検索することです/usr/localディレクトリツリー。削除するアプリケーション内の他のファイルと同じ修正時間を持ちます。

最近では、 checkinstall ツールをインストールすることをお勧めします。 make installを実行する代わりに、これを使用してRPMまたはDebianパッケージを作成し、システムの通常のソフトウェアインストールツールを使用してインストール(およびアンインストール)できます。

PATH環境変数。実行するプログラムを探しているときにbashが(同じ順序で)検索するディレクトリのリストがあります。基本的に、PATH環境変数の先頭に/ usr/local/binを配置します。 〜/ .bashrcファイルに次を追加します。

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

Bashでsetコマンドを実行すると、現在の設定を見ることができます。

または、単に/ usr/bin/pythonの名前を/usr/bin/python2.3に変更し、新しいバージョンを指すシンボリックリンクを作成できます。

ln -s /usr/local/bin/python /usr/bin/python
3
Haresh Shyara

Checkinstallを使用してPythonを削除できます:

  1. Checkinstallをインストールする
  2. Checkinstallを使用して、Pythonインストールの詳細を作成します
  3. Depkgを削除するには、dpkg -rを使用します。

詳細については この投稿 をご覧ください。

1
Prasanna Vasan