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


19

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

sudo apt-get remove python2.7

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

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


2
私はそれをお勧めしません。Pythonのバージョンはまったく互換性がないため、正しいバージョンがない場合、古いスクリプトで問題が発生する可能性があります。
tikend

あなたは正しい、python3.3はpython 2.7と互換性がないと宣言しました。だから、そのままにしておいたほうがいい。アドバイスをありがとう!
フェニックスバイ

回答:


23

できません。

Ubuntuのウィキ/ Pythonの

長期計画(例14.04)

Python 2をユニバースに移動し、すべてのPythonアプリケーションをmainからPython 3に移植します。Python2.7を完全に削除することは決してありませんが、Python 2.8もなくなることはなく、Python 2.7は4年近くになります。 14.04 LTSリリース、Python 2をユニバースに委ねるときです。

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

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


3
今は16.04です。
ムル

今は18.04です。
フランチェスコ・パサ

19.04 fu#!&now
Genarito

5

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

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

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


2

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

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

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

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

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

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

- 「パイソン」コマンドでのUnix系システム

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


1
それは悪い考えだと思います。Python 2用に作成された古いスクリプトはを呼び出しますが、Python 3用に作成された/usr/bin/pythonほとんどすべてのスクリプトは変更を認識python3し、現時点で呼び出します。まかせpythonにポイントしてpython2.7、物事を破る可能性が低いです。
vidarlo

私はpython2を必要とし、3で動作するスクリプトを作成しないと言ったように、環境に依存すると言います-一方、自動スクリプトを実行している作業中のステーションの1つでこのような変更を加えた場合、それは非常に破壊的です。
サニボーイ

/ usr / bin / pythonを呼び出す特定のシステムプロセスをリストできますか?新しい情報が提供されたとき、私は常に心を変えることに心を開いています
saniboy

18.04にはかなりの数が見つかりました。grep -r "/usr/bin/python" /usr/bin/簡単な概要を説明する必要があります。おそらくシステムを無効にすることはありませんが、いくつかの機能が動作しなくなる可能性があります。例えばsolaar
vidarlo

1
チェックしたシステムには、python3またはpython2への明示的な参照を行わない39があります。それらのすべてはおそらくpython2です。もちろん、これはインストールしたものに依存しますが、これを実行する大きな理由はありません...
vidarlo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.