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

Python3、pip3与Django2使用困惑求助(Ubuntu 17环境)

关于Ubuntu下Python多版本与Django安装的解惑

嘿,刚接触Python和Django就遇到版本问题太正常啦,我来给你捋得明明白白~

为什么Ubuntu会同时存在多个Python版本?

  • Ubuntu 17系统默认自带Python2,因为很多系统底层工具还依赖它运行,你手动安装Python3后,自然就出现了双版本共存的情况。千万不要随便卸载Python2,不然可能导致系统自带的脚本、工具直接罢工,得不偿失。

为什么StackOverflow里说不建议用pip3升级?

这里的说法其实是有前提的:大家不建议的是用pip3升级系统自带的Python包,而不是不能用pip3安装/升级你自己项目的依赖。具体原因有两个:

  • 系统自带的Python3里有些包是给系统工具服务的,强行升级可能打破依赖链,比如某些系统管理脚本突然跑不起来了。
  • 如果直接用pip3 install --upgrade django,会把Django装到Python3的全局环境里,后续你要是有其他项目需要不同版本的Django,两个版本就会互相干扰,排查起来头疼。

正确的操作姿势:用虚拟环境隔离依赖

这是Python社区公认的最佳实践,能完美解决多版本冲突问题:

  1. 先安装Python3的虚拟环境工具:
    sudo apt install python3-venv
    
  2. 给你的Django项目创建一个独立的虚拟环境(名字随便取,比如my_django_env):
    python3 -m venv my_django_env
    
  3. 激活这个虚拟环境:
    source my_django_env/bin/activate
    
    激活后命令行开头会出现(my_django_env)的标识,这时候你用pip(不用加3,因为虚拟环境已经绑定了当前的Python3)安装Django,只会影响这个独立环境:
    pip install django==2.x.x  # 把x.x换成你需要的具体2.x版本,比如2.2.28
    
  4. 用完虚拟环境后,输入下面的命令就能退出:
    deactivate
    

几个实用小命令

  • 检查当前Python版本:python --version(对应系统默认的Python2)、python3 --version(你安装的Python3)
  • 检查pip对应的Python版本:pip --version、pip3 --version,看输出里的Python路径就能清楚区分

补充一句:不用纠结全局环境的Django版本,用虚拟环境完全可以按需安装不同版本,既安全又灵活~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:55:12