🙆
dockerで作成したubuntu環境にて"Unable to locate package" errorが出た件について
dockerでubuntuイメージからコンテナを作成したまではいいがPyTorchをinstallできなかった件についてまとめる。
問題の説明
「初めてのDocker利用-その1」に従ってubuntuイメージからコンテナを作成した。ここにPyTorchをinstallしようと
root@0ab98a9c5be7:~# apt install torch
を実行したところ
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package torch
というようなエラーが出た。
apt update
してからapt install torch
を実行(効果なし)
解決方法1 ネットでE: Unable to locate package torch
というエラーについて調べるとapt update
を実行すれば良いという記事が多かったので試した。
その結果、インストールできなかった。
pip
コマンドでPyTorchをインストール(効果なし)
解決方法2 解決方法がよくわからなかったので、とりあえずpip
コマンドをインストールして、PyTrochをインストールしてみた。
root@0ab98a9c5be7:~# apt install pip
略
root@0ab98a9c5be7:~# pip install torch
を実行したところ、
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
と出力され、インストールできなかった。
apt install python3-torch
で実行(効果あり)
解決方法3 解決方法2ではPyTorchのインストールができなかったが、エラーの原因を読み解くことができた。先のエラーメッセージの一部を抜粋すると
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
ここから読み取れることとして、
- Pythonに関わるpackageをインストールする場合
apt install python3-xyz
を実行する必要がある - 先の
python3-xyz
のxyz
はインストールしようとしているパッケージの名称である。
よって今回実行すべきコマンドは
root@0ab98a9c5be7:~# apt install python3-torch
である。後ほどpytorchのバージョンを確かめると
root@0ab98a9c5be7:~# apt list --installed python3-torch
Listing... Done
python3-torch/mantic,now 2.0.1+dfsg-4 arm64 [installed]
と出力され、正しくインストールされていた。
Discussion