ModuleNotFoundError:没有名为“apt_pkg”的模块错误

Mos*_*ade 33 dpkg add-apt-repository 16.04

我在 ubuntu 16.4 上运行以下命令:

sudo add-apt-repository ppa:noobslab/apps

以下问题:

如何在 Ubuntu 16.04 上安装 PlayOnLinux

并得到以下错误:

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'
Run Code Online (Sandbox Code Playgroud)

感谢帮助

sar*_*ngh 48

它很晚了,但可能对其他人有帮助。

 /usr/lib/python3/dist-packages# sudo cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
Run Code Online (Sandbox Code Playgroud)

  • 我修改了这个答案以使用符号链接,这似乎也有效:`ln -s /usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so /usr/lib/python3 /dist-packages/apt_pkg.so` (24认同)
  • 在前面使用 sudo (2认同)
  • 得到一个错误`bash: /usr/lib/python3/dist-packages#: No such file or directory` (2认同)

小智 20

2014 年有一个类似的问题(更新管理器问题:Ubuntu 13.10 中没有名为“apt_pkg”的模块,在 /usr/local/lib 上安装了 Python 3.4)。该解决方案对我有用。

sudo apt-get remove python3-apt
sudo apt-get install python3-apt
Run Code Online (Sandbox Code Playgroud)

  • 删除 python3-apt 是相当危险的,因为它已经删除了像 ubuntu-desktop 和 xorg 这样的导入包。 (9认同)
  • 请注意有关删除 python3-apt 危险的警告。 (4认同)
  • 谢谢 。现在我有 bleow 错误:`sudo: add-apt-repository: command not found` (3认同)

use*_*920 14

如果您使用新的 python 更新(例如 dist 有 3.5 但您安装了 3.7),那么您/usr/bin/python3指向的 python 没有apt_pkg.

编辑/usr/bin/add-apt-repository它说

#! /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

然后编辑/usr/bin/add-apt-repository指向

#! /usr/bin/python3.5

(如果是 18.04,则为 16.04 和 3.6 插入您的发行版 python 3.5 版)


kar*_*rel 7

创建一个符号链接,在apt_pkg.so该链接处引用 file apt_pkg.cpython-35m-x86_64-linux-gnu.so

cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
Run Code Online (Sandbox Code Playgroud)