私はKubuntu 19.10を使用しており、python 3.8をソースからビルドし、checkinstallを使用してインストールしました。次に、それを削除しましたが、どういうわけかpython 2.7。インストールしようとした場合python-*
パッケージは、次のようなエラーを生成します。
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python-dev : Depends: python (= 2.7.17-1) but 3.8.1-1 is to be installed
E: Unable to correct problems, you have held broken packages.
私はもう試した Sudo dpkg --configure -a
しかし、それは何もしません。
どうすれば修正できますか?
編集:apt-cache policy python
出力:
python:
Installed: 3.8.1-1
Candidate: 3.8.1-1
Version table:
*** 3.8.1-1 100
100 /var/lib/dpkg/status
2.7.17-1 500
500 http://si.archive.ubuntu.com/ubuntu eoan/universe AMD64 Packages
Python 3.8.1はpythonという名前でインストールされたので、実行したのはSudo dpkg -r python
そしてそれはそれを解決しました。
実行してみてください
ls -lh /usr/bin/python
デフォルトのpythonバージョンが2.7かどうかを確認します。そうでない場合は、python 2.7実行可能ファイルがインストールされているかどうかを確認します
ls /usr/bin/python*
/ usr/bin/pythonリンクが右を指すようにするpython version
rm /usr/bin/python
ln -s /usr/bin/python2.7 python
最後に、/ usr/bin /にあるpython2.7構成ファイルへのリンクがあることを確認してください。たとえば、python2.7-configを指す/ usr/bin/python2-configがあります。
パッケージをビルドすると、「python3.8」ではなく「python」と呼ばれるようになります。
それは賢明ではありませんでした。現在、システムは 'python'が2.7ではなくバージョン3.8であると想定しています。
修正方法再インストールしたくないPython2パッケージがたくさんある場合:
1)すべてのデータの完全なバックアップと手元にあるLiveUSBを作成します。あなたは非常に強い薬を使用するつもりです。患者は予期しない合併症を持っている可能性があります。
2)ビルドされたPython 3.8パッケージのすべてのトレースが削除されていることを確認します。
3)python
パッケージによってインストールされたすべてのファイルを削除し、残りのPython2.7パッケージはそのまま残します。
Sudo dpkg remove python --force-depends
// 'python' places no files in /etc, so 'remove' is appropriate.
4)python
パッケージのすべてのトレースをapt/dpkgデータベースから削除します。 [〜#〜] warning [〜#〜]:不適切に使用された場合、このコマンドはシステムを破壊する可能性があります。
Sudo dpkg remove python --force-depends --force-remove-reinstreq
5)正しいpython
パッケージを再インストールします:
Sudo apt install python