Linux下打包Python程序无法在别人系统上运行libpython3.6m.so.1.0‘: dlopen: /lib64/libc.so.6: version,GLIBC_2.25‘ not

  • Post author:
  • Post category:linux


这两天我在本公司服务器上(Linux)打包Python代码,然后拷贝到我自己的虚拟机上就无法执行,报错内容如下:

[3513] Error loading Python lib ‘/tmp/_MEIwj9Y1X/libpython3.6m.so.1.0′: dlopen: /lib64/libc.so.6: version `GLIBC_2.25’ not found (required by /tmp/_MEIwj9Y1X/libpython3.6m.so.1.0)

大体意思是:libpython3.6m.so.1.0这个依赖库需要依赖2.25版本或者以上的GLIBC。于是我查了一下我自己虚拟机的GLIBC和公司服务器上的GLIBC  发现我自己的虚拟机上是2.17版本,公司服务器上是2.27版本  于是原因就明白了

原因是:打包时的GLIBC是高版本,因此打包出来的可执行文件所依赖的也是高版本,所以在GLIBC低版本的 Linux系统中就无法执行

我的解决方法:在低版本GLIBC的系统上打包好,这样就都可以运行了



版权声明:本文为wangziyang777原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。