虚拟环境:Django 开发前的第一件事
虚拟环境:Django 开发前的第一件事
一、为什么要虚拟环境?
-
隔离:同一台机器上可以并存多个项目,互不干扰。
-
版本锁定:项目 A 用 Django 2.2.5,项目 B 用 Django 3.2.x,不会串味。
-
可迁移:把整个虚拟环境打包,就能在同事或生产机一键还原。
把虚拟环境想成一间“独立教室”:只放当前课程需要的书本和文具,别的班的东西不会混进来。
二、前置安装(一次性)
Linux / macOS(已配好,了解即可)
pip3 install virtualenv virtualenvwrapper
# 在 ~/.bashrc 追加三行路径配置(已写好)
source ~/.bashrc
Windows 同学用 pip install virtualenvwrapper-win
即可,概念相同。
三、常用命令速查表
|目的|命令| |-|-| |创建虚拟环境(指定 Python3)|mkvirtualenv -p python3 环境名
| |查看已存在的环境|workon
或 lsvirtualenv
| |进入/切换环境|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
五、常见坑
-
删除失败:提示
cannot remove active environment
→ 先deactivate
再删。 -
pip 装错地方:没激活虚拟环境时
pip install
会装到全局,一定确认命令行前缀有(环境名)
。 -
版本不一致:公司多用 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一样吗?
可以类比,但本质不同。两句话先给结论,再展开:
-
虚拟环境 ≈ 轻量级“隔离舱”:只隔离Python解释器+第三方包,不隔离操作系统。
-
Docker ≈ 完整“集装箱”:隔离整个操作系统+运行时+依赖(包含 Python、C 库、系统工具等)。
一句话总结
-
开发/调试:先用虚拟环境快速隔离 Python 依赖;
-
上线/协作:再用 Docker 把“整个环境”打包成镜像,确保“开发→测试→生产”完全一致。
- 点赞
- 收藏
- 关注作者
评论(0)