Kh4*_*zit 64 python ubuntu ubuntu-20.04
我最近将我的操作系统升级到 Ubuntu 20.04 LTS。
现在,当我尝试在 Python 中导入像 Numpy 这样的库时,出现以下错误:
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试安装该libffi软件包,但 apt 找不到它:
sudo apt-get install libffi
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libffi
Run Code Online (Sandbox Code Playgroud)
ami*_*aud 59
如果您使用的是 pyenv,您应该只卸载使用过的 python 版本,然后重新安装它。
例子:
pyenv uninstall 3.7.4
pyenv install 3.7.4
Run Code Online (Sandbox Code Playgroud)
从我的角度来看,它比重命名系统库更干净、更安全。
Kh4*_*zit 57
好像我修好了。我可能是错的,但这是我认为发生的事情:
我做了什么来修复它:
libffi.so.7在您的系统中定位
$ find /usr/lib -name "libffi.so*"
Run Code Online (Sandbox Code Playgroud)
创建一个名为的 simlinklibffi.so.6指向libffi.so.7:
sudo ln -s /usr/path/to/libffi.so.7 /usr/lib/path/to/libffi.so.6
Run Code Online (Sandbox Code Playgroud)
更新:
正如许多用户所指出的,此修复程序可能会产生意想不到的后果。更好的方法是按照@amichaud 的解释重新安装 python。如果您不使用 pyenv/virtualenv/etc,这应该用作最后的手段,在这种情况下,删除 python 也会导致许多依赖项也被删除。
ant*_*isa 41
我使用的是 Xubuntu 20.04,重新编译 python 3.7 版对我不起作用。
我解决这个问题的方法是从这里下载 19.10 版本的软件包:http : //mirrors.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
然后安装它
sudo apt install ./libffi6_3.2.1-8_amd64.deb
Run Code Online (Sandbox Code Playgroud)
这会将libffi.so.6和libffi.so.6.0.4文件解压到/usr/lib/x86_64-linux-gnu/. 该libffi.so.6文件只是指向libffi.so.6.0.4同一目录中的链接。
据我所知,这不会覆盖任何文件,因此应该是安全的。
希望这也有助于某人。
小智 28
Ubuntu 20 安装了 libffi7。可以使用从 此处下载的 Ubuntu 19.10 (Eoan Ermine) 安装以前的版本或者您可以按照以下命令操作
$ curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
$ sudo dpkg -i libffi6_3.2.1-8_amd64.deb
Run Code Online (Sandbox Code Playgroud)
对我来说同样的问题
我所做的是:
当然,我无法保存pip freeze我的依赖项(因为 pip 不起作用),但幸运的是我不关心它们。
| 归档时间: |
|
| 查看次数: |
32480 次 |
| 最近记录: |