web-dev-qa-db-ja.com

python 3.3のインストール後にpython 2.7を削除するにはどうすればよいですか?

Ubuntu 12.10にpython 3.3を正常にインストールしました。 Pythonの複数のバージョンは必要ないので、既存のpython 2.7を削除します。私がそれをしようとすると、

Sudo apt-get remove python2.7

Ubuntuは、システムに依存するコンポーネントも大量に削除されると警告しています。本当に怖そうです。

だから、システム依存コンポーネントを削除せずにpython 2.7を削除する方法はありますか、またはそれらの依存関係にpython 3.3を使用するように指示できますか?

17
phoenix bai

できません。

buntu wiki/Python から:

長期計画(14.04など)

Python 2をユニバースに移動し、mainのすべてのPythonアプリケーションをPythonに移植します。3. Python 2.7を完全に削除することはありません。しかし、Python 2.8が存在することは決してないので、Python 2.7は14.04 LTSリリースの時点でほぼ4歳になるので、Python 2からユニバース。

これは、多くのベースパッケージが2.7に強い依存関係を持っていることを意味し、移行にはまだ多くの時間がかかります。 Python 3には後方互換性のない変更が数多くあることに注意してください。通常のパッケージアップグレードではありません。

Python 2.7を本当に削除したい場合は、14.04リリースを待つ必要がありますが、保証はありません。

22
gertvdijk

あなたはできない、あなたは本当にしたくない。

Pythonは2.7と3.0の間で劇的に変化し、後方互換性を壊しました。大量のシステムインフラストラクチャをサポートするために使用される2.7用に作成されたPythonスクリプトは、Python 3.xでは必ずしも正しく動作しません。これらのスクリプトは、新しいバージョンで動作するように更新する必要があり、それが起こるまで、Python 2.7を維持する必要があります。

古いPythonに非常に多くの依存関係があることに気付くのはこのためです-システムはそれに依存しています。さらに、同じシステムにPythonの両方のバージョンをインストールしても害はありません。また、将来Python 2.7を使用するアプリケーションに出くわす可能性があるため、そのままにしておくことをお勧めします。

5
user173076

私がデフォルトでPython3で開発し、apt purge pythonを実行した後に削除されるものを見てOPと同じ結論に達したため、2019年にここに来ました

私が本当に欲しかったのはpythonだけでPython3を呼び出すことだったので、私は走りました

Sudo rm /usr/bin/python
Sudo ln -s /usr/bin/python3 /usr/bin/python

このように、Python2.7がまだ必要な場合、python2.7で明示的に呼び出すことができますが、単にpythonを呼び出すと、シンボリックリンクのためにデフォルトでPython3になります。

pythonでpython2.7を呼び出すbashレベルのスクリプトはないので、この変更は破壊的ではありませんが、他のシステムではスクリプトを調整する必要があります。

pythonコマンドをpython2からpython3に切り替えるディストリビューションの主な障壁は、ディストリビューション内での破損ではなく、sysadminsや他のユーザーが開発したプライベートサードパーティスクリプトの破損です。

-nixライクシステムの「python」コマンド

この答えはOPへの直接的な応答ではありませんが、同様の質問をした人として、これは2.7を削除することを考えていたときに探していた機能です。削除するのではなく、使用するpythonを優先します。

0
saniboy