コマンドを使用してPipをインストールしようとしました
次のエラーメッセージが表示されました。
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
.....
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
また、端末に記載されているように、コマンドを使用してみました
Sudo apt-get -f install
これは見返りにこれを与えた
Correcting dependencies... failed.
The following packages have unmet dependencies:
.....
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
いくつかのスレッドで提案されているように、Sudo apt-get install --fix-broken && Sudo apt-get autoremove && Sudo apt-get update && Sudo apt-get install samba
を使用しようとしましたが、動作しませんでした。また、個々のパッケージを削除しようとしましたが、これも失敗しました。 python 2.7と3.5.1の両方がインストールされています。
私のpython -V
はPython 2.7.6
を返します。
私のpython3 -V
はPython 3.5.1
を返します。
私のapt-cache policy python python3
は戻ります
python:
Installed: 3.5.1-1
Candidate: 3.5.1-1
Version table:
*** 3.5.1-1 0
100 /var/lib/dpkg/status
python3:
Installed: 3.4.0-0ubuntu2
Candidate: 3.4.0-0ubuntu2
Version table:
*** 3.4.0-0ubuntu2 0
100 /var/lib/dpkg/status
Sudo rm -rf /var/lib/apt/lists/* ; Sudo apt-get update ; Sudo add-apt-repository main; apt-cache policy python
を使用した後
python:
Installed: 3.5.1-1
Candidate: 3.5.1-1
Version table:
*** 3.5.1-1 0
100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
500 http://archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
前もって感謝します
apt-cache policy python
の出力から、リポジトリから正しいpython
バージョン(2.7.x)をインストールできなかったことがわかりました。 Pythonはmain
リポジトリにあるため、最初にそのリポジトリを(再度)アクティブにし、パッケージリストを更新する必要があります。
Sudo add-apt-repository main
Sudo apt-get update
無効な署名(BADSIG)エラーが発生したため、すべてのパッケージリストを完全に削除して再ダウンロードします。また、エラーにより動作が妨げられた場合は、main
リポジトリを再度有効にしようとします。
Sudo rm -rf /var/lib/apt/lists/*
Sudo add-apt-repository main
Sudo apt-get update
これで、新しいapt-cache policy python
出力にサーバーから利用可能な正しいバージョンが表示されるため、パッケージpython
を必要なバージョンに強制的にダウングレードできます。
Sudo apt-get install python=2.7.5-5ubuntu3
次に、ローカルにキャッシュされた間違った3.5バージョンを削除し、パッケージキャッシュ全体を空にする必要があります。
Sudo apt-get clean
次に、残りのすべてのパッケージのアップグレードを試行し、最良の結果を期待します。
Sudo apt-get upgrade
基本的な手順は次のとおりです:
Sudo apt-get update
パッケージリストが更新されたので、apt-get upgradeコマンドを使用して最新バージョンにアップグレードできます。
Sudo apt-get -y upgrade
パッケージがアップグレードされたら、Python 3.7をインストールできます。これは、apt-get installコマンドを使用して実行されます。
Sudo apt-get install -y python3.7
インストールが完了したら、Python 3.7を呼び出してバージョン番号を出力することにより、インストールが成功したことを確認します。
python3.7 -V
# expected output
Python 3.7.3
これで、Pythonのインストールが正常に完了しました。将来、他のPythonパッケージで作業したいので、パッケージ管理プログラムPIPをインストールできるようになりました。このために、次のコマンドを実行します。
Sudo apt-get install -y python3-pip
以下では、Python 3.7が最新のpython3バージョンであることを確認します。それを実現するために、python3へのシンボリックリンクを設定します。
Sudo ln -sf /usr/bin/python3.7 /usr/bin/python3
PIPをインストールしたら、PIPを更新する必要があります。残念ながら、PIPをインストールしたばかりですが、インストールしたバージョンがかなり古いため、手動でこれを行う必要があります。そのため、この手順は必要です。
python3 -m pip install --upgrade pip
インストールが完了したら、PIPのバージョン番号を呼び出してこれを確認します。
python3 -m pip -V
# expected output
pip 19.2.1 from /home/vagrant/.local/lib/python3.7/site-packages/pip (python 3.7)
現在、ライブラリを実際にPIPでインストールできるかどうかをテストしています。このために、numpyという非常に人気のあるPython数学ライブラリを使用します
python3 -m pip install numpy