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

Fedora升级后虚拟环境缺失libpython3.5m.so.1.0的解决咨询

解决Fedora 27升级后Python 3.5虚拟环境依赖缺失问题

这个报错的核心原因很明确:你升级到Fedora 27后,系统默认的Python 3.5被移除(Fedora 27自带的是Python 3.6),而你之前创建的虚拟环境是绑定系统级Python 3.5的,所以找不到它依赖的libpython3.5m.so.1.0共享库了。下面给你两个可行的解决方案,按需选择:

方案一:修复现有虚拟环境(重新安装Python 3.5)

如果你的项目必须依赖Python 3.5,不想重新配置依赖,可以按以下步骤操作:

  • 先安装编译Python所需的依赖包:
    sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
    
  • 下载Python 3.5的最新稳定源码包(3.5.10是3.5分支的最后一个版本):
    wget https://www.python.org/ftp/python/3.5.10/Python-3.5.10.tgz
    
  • 解压并进入源码目录:
    tar xzf Python-3.5.10.tgz
    cd Python-3.5.10
    
  • 编译安装(用altinstall避免替换系统默认的Python版本):
    ./configure --enable-optimizations
    make altinstall
    
  • 修复虚拟环境的Python链接:进入你的虚拟环境的bin目录,替换掉失效的符号链接:
    cd /path/to/your/venv/bin
    rm python python3 python3.5
    ln -s /usr/local/bin/python3.5 python
    ln -s /usr/local/bin/python3.5 python3
    ln -s /usr/local/bin/python3.5 python3.5
    
  • 现在激活虚拟环境,测试Python版本:
    source /path/to/your/venv/bin/activate
    python --version
    
    如果显示Python 3.5.x,再尝试启动Django应用即可。

方案二:创建新的虚拟环境(更推荐)

系统升级后,旧虚拟环境可能还存在其他潜在依赖问题,重新创建是更稳妥的选择:

  • 先备份旧环境的依赖列表:如果还能勉强激活旧环境(即使报错,试试执行),导出依赖:
    source /path/to/your/venv/bin/activate
    pip freeze > requirements.txt
    deactivate
    
    如果激活失败,就手动整理项目需要的依赖包版本到requirements.txt文件中。
  • 删除旧的虚拟环境:
    rm -rf /path/to/your/venv
    
  • 用Fedora 27自带的Python版本创建新虚拟环境:
    python3 -m venv new_venv
    
  • 激活新环境并安装依赖:
    source new_venv/bin/activate
    pip install -r requirements.txt
    
  • 测试启动Django:
    python manage.py runserver
    
    注意:如果你的Django版本太旧不兼容Python 3.6,执行pip install --upgrade django升级到兼容版本即可(Django 1.11及以上版本都支持Python 3.6)。

额外建议

以后再升级系统前,建议用pip freeze导出依赖列表;或者用pyenv这类工具管理本地多个Python版本,这样系统升级不会影响你项目使用的Python版本,能避免类似问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:42:06