0 提出背景
考虑这么一个场景:
公司要你用 mysaldb 1.2.5 开发项目1,
项目1 结束后,要你用 mysqldb2.0.1 开发项目2。
这时如果你直接安装 mysqldb2.0.1 ,就会导致 mysaldb 1.2.5 被覆盖。
如果后期项目1出现了bug,这时你用安装了 mysqldb2.0.1 的开发环境去修改项目1,就很有可能导致项目1运行不起来。
因为它们的依赖不同。
基于上述问题:
提出虚拟环境解决而方案
【注意:虚拟环境是真实python环境的复制版本】
1 虚拟环境安装和配置
① 安装虚拟环境的命令
sudo pip install virtualenv # 安装虚拟环境
sudo pip install virtualenvwrapper # 安装虚拟环境扩展包
② 编辑家目录下面的.bashrc文件,添加下面两行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
之后,使用 source.bashrc 使其生效一下
2 虚拟环境的使用
① 创建虚拟环境命令:
mkvirtualenv 虚拟环境名 # 这是默认创建python2的虚拟环境
例如:
mkvirtualenv mydj
mkvirtualenv -p python3 虚拟环境名 # 这是指定创建python3的虚拟环境
例如:
mkvirtualenv -p python3 mydj3
② 进入虚拟环境工作:
workon 虚拟环境名
例如:
workon mydj3
这时,你命令行最前面会出现 (mydj3),表示进入了该虚拟环境
③ 查看机器上有多少个虚拟环境:
workon 空格 + 两个tab键
④ 退出虚拟环境:
deactivate
⑤ 删除虚拟环境:
rmvirtualenv 虚拟环境名
例如:
rmvirtualenv mydj3
在虚拟环境中使用的python是复制的python,安装python包也是安装在复制的python中
⑥ 查看虚拟环境中安装了哪些python包:
下面的两个命令都可以查看,只是显示和展示的不一样
pip list
pip freeze
pip list显示:
pip freeze显示:
⑦ 虚拟环境下安装包的命令:
pip install 包名
注意:
不能使用 sudo pip install 包名,
这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中
3 虚拟环境中安装Django
安装django环境:
pip install # 默认安装最新的版本
pip install django==1.8.2 # 指定安装版本
拓展:
apt-get install 软件
pip install python 包名