Pop! OS 22.04LTS安装Python 3.12失败:缺失_crypt模块文件
解决Pop! OS 22.04LTS安装Python 3.12时的
_crypt.so缺失及安装失败问题 问题根源
报错里的_crypt.cpython-312-x86_64-linux-gnu.so是Python加密模块的编译产物,缺失原因大概率是编译时未检测到libcrypt开发库,导致该模块未生成。
修复步骤
补全依赖库
执行以下命令安装libcrypt的开发包:sudo apt install libcrypt-dev清理编译残留并重新配置
先清空之前的编译产物:make clean再重新运行配置命令,强制启用加密模块:
./configure --enable-optimizations --with-crypt(
--enable-optimizations用于优化Python运行性能,--with-crypt确保编译时生成_crypt模块)重新编译
用多线程加速编译(nproc会自动获取CPU核心数):make -j$(nproc)重新执行安装
再次运行安装命令:sudo make install
额外处理建议
多Python版本管理:系统自带的Python3.5不要轻易删除,安装完3.12后可以用
update-alternatives切换版本:sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2 sudo update-alternatives --config python3执行最后一条命令后,按提示选择要使用的Python版本即可。
关于
make test的2项失败:如果不是和crypt相关的测试项,大概率是个别环境兼容问题,不影响Python核心功能。若要深究,可以查看编译目录下的test.log文件,找到失败的测试项名称,针对性排查。
内容的提问来源于stack exchange,提问作者TheSudoCat
相关产品推荐
相关产品推荐

