虚拟环境:Django 开发前的第一件事

举报
周杰伦本人 发表于 2025/07/30 14:00:04 2025/07/30
【摘要】 虚拟环境:Django 开发前的第一件事一、为什么要虚拟环境?隔离:同一台机器上可以并存多个项目,互不干扰。版本锁定:项目 A 用 Django 2.2.5,项目 B 用 Django 3.2.x,不会串味。可迁移:把整个虚拟环境打包,就能在同事或生产机一键还原。把虚拟环境想成一间“独立教室”:只放当前课程需要的书本和文具,别的班的东西不会混进来。二、前置安装(一次性)Linux / mac...

虚拟环境:Django 开发前的第一件事

一、为什么要虚拟环境?

  1. 隔离:同一台机器上可以并存多个项目,互不干扰。

  2. 版本锁定:项目 A 用 Django 2.2.5,项目 B 用 Django 3.2.x,不会串味。

  3. 可迁移:把整个虚拟环境打包,就能在同事或生产机一键还原。

把虚拟环境想成一间“独立教室”:只放当前课程需要的书本和文具,别的班的东西不会混进来。

二、前置安装(一次性)

Linux / macOS(已配好,了解即可)

pip3 install virtualenv virtualenvwrapper
# 在 ~/.bashrc 追加三行路径配置(已写好)
source ~/.bashrc

Windows 同学用 pip install virtualenvwrapper-win 即可,概念相同。

三、常用命令速查表

|目的|命令| |-|-| |创建虚拟环境(指定 Python3)|mkvirtualenv -p python3 环境名| |查看已存在的环境|workonlsvirtualenv| |进入/切换环境|workon 环境名| |退出环境|deactivate| |删除环境|先 deactivate,再 rmvirtualenv 环境名|

Tab 键补全:敲 mk + Tab 自动补全 mkvirtualenv,省心。

四、创建并进入 Django 2.2.5 虚拟环境

# 1. 创建(联网)
mkvirtualenv -p python3 django225_xiaoshunyi42

# 2. 自动进入(前面有 (django225_xiaoshunyi42) 前缀)
(django225_xiaoshunyi42) $ pip install django==2.2.5
(django225_xiaoshunyi42) $ pip list | grep Django
Django  2.2.5

五、常见坑

  1. 删除失败:提示 cannot remove active environment → 先 deactivate 再删。

  2. pip 装错地方:没激活虚拟环境时 pip install 会装到全局,一定确认命令行前缀有 (环境名)

  3. 版本不一致:公司多用 LTS(2.2.x),学习阶段锁定 2.2.5,避免踩 3.x 新特性坑。

六、一分钟复习

# 创建
mkvirtualenv -p python3 mysite
# 进入
workon mysite
# 安装
pip install django==2.2.5
# 退出
deactivate
# 删除(先退出)
rmvirtualenv mysite

把上面 5 行命令背下来,以后换电脑或配 CI/CD 时直接复制即可。


那么虚拟环境和docker一样吗?

可以类比,但本质不同。两句话先给结论,再展开:

  1. 虚拟环境 ≈ 轻量级“隔离舱”:只隔离Python解释器+第三方包不隔离操作系统

  2. Docker ≈ 完整“集装箱”:隔离整个操作系统+运行时+依赖(包含 Python、C 库、系统工具等)。

一句话总结

  • 开发/调试:先用虚拟环境快速隔离 Python 依赖;

  • 上线/协作:再用 Docker 把“整个环境”打包成镜像,确保“开发→测试→生产”完全一致。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。