Python 3.x libc.musl-x86_64.so.1:无法打开共享对象文件

Python 3.x libc.musl-x86_64.so.1:无法打开共享对象文件,python-3.x,shared-libraries,Python 3.x,Shared Libraries,我在尝试运行Django数据库迁移时发现此错误: File "/home/xxx/virtualenv/xxx/lib64/python3.6/site-packages/drf_ujson/renderers.py", line 4, in <module> import ujson ImportError: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory 文

我在尝试运行Django数据库迁移时发现此错误:

File "/home/xxx/virtualenv/xxx/lib64/python3.6/site-packages/drf_ujson/renderers.py", line 4, in <module>
    import ujson
ImportError: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
文件“/home/xxx/virtualenv/xxx/lib64/python3.6/site packages/drf_ujson/renderers.py”,第4行,在
导入ujson
ImportError:libc.musl-x86_64.so.1:无法打开共享对象文件:没有此类文件或目录
环境详情:

  • ujson版本1.35
  • drf ujson版本1.2
  • pip版本18.1
  • python版本3.6.7
  • Fedora27,linux内核4.19

你以前见过这个错误吗?你能给我一些调试的建议吗?

amazonlinux图像也有同样的问题

首先,您需要安装musl-lib。它在yum中不存在,因此您必须从源代码处编译它

curl https://musl.libc.org/releases/musl-1.2.2.tar.gz -o musl-1.2.2.tar.gz
tar -xvf musl-1.2.2.tar.gz
cd musl-1.2.2
./configure
make 
make install
然后

ln -s /usr/lib64/libc.so.6 /usr/lib64/libc.musl-x86_64.so.1
如果/usr/lib64中没有libc.so.6文件,请尝试使用
find/-name'libc.so*”
。Dest文件应与libc.so位于同一目录中。例如,如果文件的路径为/usr/lib/libc.so.6,那么您的命令将是
ln-s/usr/lib/libc.so.6/usr/lib/libc.musl-x86_64.so.1

,您可能需要安装它。通常的C标准库是Thank Basile,我通过安装musl libc,然后重新安装ujson解决了这个问题。但我不明白的是,通过pip进行的ujson安装过程没有任何错误,Fedora在任何内置存储库中都没有musl libc。这就是为什么我不愿意早些安装musl libc的原因。