Ubuntu 12.10にpython 3.3を正常にインストールしました。 Pythonの複数のバージョンは必要ないので、既存のpython 2.7を削除します。私がそれをしようとすると、
Sudo apt-get remove python2.7
Ubuntuは、システムに依存するコンポーネントも大量に削除されると警告しています。本当に怖そうです。
だから、システム依存コンポーネントを削除せずにpython 2.7を削除する方法はありますか、またはそれらの依存関係にpython 3.3を使用するように指示できますか?
長期計画(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リリースを待つ必要がありますが、保証はありません。
あなたはできない、あなたは本当にしたくない。
Pythonは2.7と3.0の間で劇的に変化し、後方互換性を壊しました。大量のシステムインフラストラクチャをサポートするために使用される2.7用に作成されたPythonスクリプトは、Python 3.xでは必ずしも正しく動作しません。これらのスクリプトは、新しいバージョンで動作するように更新する必要があり、それが起こるまで、Python 2.7を維持する必要があります。
古いPythonに非常に多くの依存関係があることに気付くのはこのためです-システムはそれに依存しています。さらに、同じシステムにPythonの両方のバージョンをインストールしても害はありません。また、将来Python 2.7を使用するアプリケーションに出くわす可能性があるため、そのままにしておくことをお勧めします。
私がデフォルトで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や他のユーザーが開発したプライベートサードパーティスクリプトの破損です。
この答えはOPへの直接的な応答ではありませんが、同様の質問をした人として、これは2.7を削除することを考えていたときに探していた機能です。削除するのではなく、使用するpython
を優先します。