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

升级Ubuntu 22.04 LTS后虚拟环境失效,Django导入错误求助

问题描述

升级Ubuntu 22.04 LTS前虚拟环境运行正常,升级后彻底用不了,一直弹出这个错误:

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

试了之前常用的workon myenvironment和source myenvironment/bin/activate激活环境,完全没用;删了重新建环境,问题还是一样。已经确认Django装了,但PYTHONPATH环境变量没检查过,也不知道怎么改和配置。想知道怎么修复,还有升级Ubuntu 22.04 LTS后要做哪些特殊操作才能让虚拟环境正常跑。

修复步骤

1. 核对虚拟环境绑定的Python版本

Ubuntu 22.04默认把Python从20.04的3.8升到了3.10,旧虚拟环境大概率绑的是旧版本Python,这是核心问题:

  • 先激活环境,执行which python和python --version,看看是不是系统现在的3.10版本。
  • 如果版本不对,删了旧环境重新建,指定用Python3.10:
    # 用virtualenvwrapper的话,先删旧环境
    rmvirtualenv myenvironment
    # 指定3.10创建新环境
    mkvirtualenv -p /usr/bin/python3.10 myenvironment
    
    用virtualenv的话这么写:
    virtualenv -p /usr/bin/python3.10 myenvironment
    

2. 检查并配置PYTHONPATH

激活环境后,PYTHONPATH应该自动包含虚拟环境的site-packages目录,要是没包含就手动加:

  • 先看当前PYTHONPATH:echo $PYTHONPATH
  • 没看到虚拟环境的site-packages路径的话,手动导出:
    # 把路径换成你自己的虚拟环境路径,比如下面这个示例
    export PYTHONPATH="/home/你的用户名/.virtualenvs/myenvironment/lib/python3.10/site-packages:$PYTHONPATH"
    
    嫌每次手动输麻烦,就把这条命令加到虚拟环境的bin/activate文件末尾,以后激活环境会自动配置。

3. 重新装一遍依赖包

就算之前确认Django装了,系统升级后依赖可能有兼容性问题,重新装一遍准没错:

  • 激活环境后先更pip:pip install --upgrade pip
  • 然后装Django或者按requirements文件装:
    pip install django
    # 有requirements.txt的话直接跑这个
    pip install -r requirements.txt
    

4. 更新virtualenvwrapper(如果在用)

Ubuntu 22.04可能需要新版本的virtualenvwrapper才能适配:

  • 执行pip install --upgrade virtualenvwrapper更新
  • 检查~/.bashrc或者~/.zshrc里的配置,确保Python路径指向3.10:
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.10
    source /usr/local/bin/virtualenvwrapper.sh
    
    改完后执行source ~/.bashrc(用zsh就跑source ~/.zshrc)让配置生效。
Ubuntu 22.04 LTS升级后虚拟环境维护注意事项
  • 盯紧Python版本:系统默认是3.10,新创建的虚拟环境一定要指定这个版本,避免版本不兼容。
  • 更新环境工具:把virtualenv、virtualenvwrapper更到最新版,适配新系统的Python。
  • 重新装依赖:系统升级后旧依赖可能编译出错或不兼容,建议把项目所有依赖重新装一遍。
  • 检查环境变量:确保虚拟环境激活脚本里的Python路径、PYTHONPATH这些配置,都指向当前系统的Python版本和虚拟环境目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:35:19