Dockerインストール時にNo module named ‘apt_pkg’

7月 27, 2020

対処法

シンボリックリンクを張る。

$ cd /usr/lib/python3/dist-packages
$ sudo ln -s apt_pkg.cpython-{35m,36m}-x86_64-linux-gnu.so

以下,だらだらと詳細を述べる.

~~~

問題が起きた環境

Python3.6

問題発生

Dockerの公式インストール手順4を実行中にインポートエラー発生

Docker公式インストール手順

https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository

実行コマンド

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

以下のエラーが発生

Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 27, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 27, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

対処法

以下のコマンドを打ち、シンボリックリンクを張る。

$ cd /usr/lib/python3/dist-packages
$ sudo ln -s apt_pkg.cpython-{35m,36m}-x86_64-linux-gnu.so

本手順は以下の記事からコピペしたものである。

どうやら apt_pkg.cpython-35m-x86_64-linuxgnu.so の35mという命名に問題があるらしい。

qiita.com

試したけど問題が解決しなかった手順

$ sudo apt-get install python-apt
$ sudo apt-get install python3-apt

stackoverflow.com

Docker

Posted by vastee