首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ubuntu 20.04升级,Python缺少libffi.so.6

Ubuntu 20.04升级,Python缺少libffi.so.6
EN

Stack Overflow用户
提问于 2020-05-18 17:52:40
回答 9查看 75.7K关注 0票数 96

我最近将我的操作系统升级到Ubuntu20.04LTS。

现在,当我试图导入像Python中的Numpy这样的库时,我会得到以下错误:

代码语言:javascript
运行
复制
ImportError: libffi.so.6: cannot open shared object file: No such file or directory

我试过安装libffi包,但apt无法找到它:

代码语言:javascript
运行
复制
sudo apt-get install libffi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libffi
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2020-05-18 18:14:31

好像我修好了。我可能错了,但我认为发生了这样的事情:

  1. Ubuntu20.04将libffi6升级为libffi7
  2. Python仍然在寻找libffi6

我为修复它所做的一切:

在系统中找到libffi.so.7

代码语言:javascript
运行
复制
$ find /usr/lib -name "libffi.so*"

创建一个名为libffi.so.6的simlink,它指向libffi.so.7

代码语言:javascript
运行
复制
sudo ln -s /usr/path/to/libffi.so.7 /usr/lib/path/to/libffi.so.6

更新:

正如许多用户所指出的,这种修复可能会产生意想不到的后果。更好的方法是重新安装python,@amichaud解释道。如果您不使用pyenv/virtualenv/etc,则应该将其作为最后手段使用,在这种情况下,删除python也会导致大量依赖项被移除。

票数 86
EN

Stack Overflow用户

发布于 2020-05-27 08:56:58

如果您正在使用pyenv,您应该卸载使用过的python版本,然后重新安装它。

示例:

代码语言:javascript
运行
复制
pyenv uninstall 3.7.4
pyenv install 3.7.4

在我看来,它比重命名系统库更干净和安全。

票数 86
EN

Stack Overflow用户

发布于 2020-08-09 18:21:09

我正在使用Xubuntu20.04,重新编译python版本3.7对我没有用。

我解决这个问题的方法是从这里下载19.10版本的软件包:amd64.deb

然后安装它

代码语言:javascript
运行
复制
sudo apt install ./libffi6_3.2.1-8_amd64.deb

这将将libffi.so.6libffi.so.6.0.4文件解压缩到/usr/lib/x86_64-linux-gnu/libffi.so.6文件只是指向同一目录中的libffi.so.6.0.4的链接。

据我所见,这不会覆盖任何文件,所以应该是安全的。

Ubuntu22.04附加步骤如下所示,安装上述命令后需要运行此命令:

代码语言:javascript
运行
复制
apt install libffi-devel

然后重新编译Python。

票数 69
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61875869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档