python-dev安装报错: ImportError: No module named apt_pkg

标签 python linux installation debian

我是 Debian 用户,我想安装 python-dev,但是当我以 root 身份在 shell 中运行代码时:

# aptitude install python-dev

我收到以下错误:

Traceback (most recent call last):       
  File "/usr/bin/apt-listchanges", line 28, in <module>
    import apt_pkg
ImportError: No module named apt_pkg

似乎是什么问题,我该如何解决?

最佳答案

我在执行 sudo apt-get update 时遇到了这个问题。我的环境是 debian8,python2.7 + 3.4(默认)+ 3.5。

下面的代码只会为 python 3.5 重新创建一个 apt_pkg....so 文件

sudo apt-get install python3-apt --reinstall

下面的代码解决了我的问题,

cd /usr/lib/python3/dist-packages

为系统上安装的 python 版本找到合适的 .so 文件:

ls -l | grep apt_pkg

创建符号链接(symbolic link):

sudo ln -s apt_pkg.cpython-{your-version-number}-x86_64-linux-gnu.so apt_pkg.so

适本地替换{your-version-number}

注意,下面将创建一个从 apt_pkg37m 到 apt_pkg36m 的符号链接(symbolic link)。 通过 ls apt_pkg.cpython-* 确保您链接到正确的版本,或者至少链接到现有版本,并查看您安装了哪个版本。

sudo ln -s apt_pkg.cpython-{36m,37m}-x86_64-linux-gnu.so

因此,很明显,python3-apt 检查最高的 python 版本,而不是当前使用的 python 版本。

要了解发生这种情况的原因,请进一步查看此答案:https://stackoverflow.com/a/64241654/21539

关于python-dev安装报错: ImportError: No module named apt_pkg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24043727/

相关文章:

linux - 在Linux中编辑vmlinuz文件

sqlite - 如何在 Debian 上安装 sqlite

用于拆分日志文件的 Linux shell 命令

linux - 是否从页面缓存中的脏页面进行文件读取?

c++ - 是否有任何注册表项指示是否已安装特定的 C 运行时?

python - 使用诱变剂为 MP4 文件设置自定义标签时出现问题

python - Django 管理仪表板,无法记录 "select all"

python - 使用 Profile 或 cProfile 我能得到什么

python - Flask 应用程序未正确使用配置文件设置

windows - 适用于 Windows 和 Linux 的 Delphi