web-dev-qa-db-ja.com

Python2パッケージをインストールしようとしたときのエラー

私は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
1
Žiga Stupan

Python 3.8.1はpythonという名前でインストールされたので、実行したのはSudo dpkg -r pythonそしてそれはそれを解決しました。

1
Žiga Stupan

実行してみてください

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があります。

0
Eric Mintz

パッケージをビルドすると、「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
0
user535733