You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包单文件跨平台运行提示libcrypt.so.1缺失如何解决

问题根因

你遇到的报错核心是两个常见误区导致的:

  1. 依赖名称匹配错误:报错提示缺少的是libcrypt.so.1(glibc提供的密码哈希库),你确认存在的是libcrypto.so.1.1(OpenSSL提供的加密库),二者是完全不同的依赖库,没有替代关系。
  2. 可能存在架构/发行版不兼容:源打包环境是aarch64架构,如果目标运行环境是x86_64等其他架构,就算目标环境存在同名依赖,架构不匹配也无法调用。
修复方案
  • 目标环境直接安装缺失依赖
    根据目标系统的发行版选择对应命令安装即可:
    Debian/Ubuntu系列:
    sudo apt install libcrypt1
    
    RHEL/CentOS/Fedora系列:
    sudo dnf install libxcrypt-compat
    
    安装完成后执行ldconfig -p | grep libcrypt.so.1验证,输出对应路径即可正常运行程序。
  • 打包时绑定依赖避免目标环境安装
    如果你需要保持单文件的零依赖特性,在打包命令中添加--add-binary参数,直接把源环境的libcrypt.so.1打进二进制包内,修改后的打包命令如下:
    pyinstaller --hidden-import pyaudio --hidden-import wave --hidden-import Logger  --hidden-import json --hidden-import websockets --hidden-import asyncio --add-binary /usr/lib/aarch64-linux-gnu/libcrypt.so.1:. --onefile Run_SD.py
    
  • 跨架构运行兜底方案
    如果源打包环境和目标运行环境架构不同(比如源是aarch64,目标是x86_64),必须在和目标环境同架构、同大版本发行版的环境下打包,否则系统底层依赖的架构、版本都不兼容,上述方案均无法生效。

内容的提问来源于stack exchange,提问作者geoffr98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 09:12:03