本文出自“阿敏其人”简书博客。转载请著名出处和链接地址。
每一个版本python版本项目,采用的python版本可能不一样;每一个python依赖的版本库可能不一样。
所以,我们需要对每一个python项目进行环境隔离
。
避免不同项目之间因为python版本和依赖的库的原因出问题。
我们需要做到两点:
- 1、不同的项目可以区分python版本
- 2、不同的项目可以区分依赖包
virtualenv + virtualenvwrapper
virtualenv
: 常见虚拟环境,隔离python版本
virtualenvwrapper
: virtualenvwrapper是virtualenv的一个扩展包,可以让你更加方便的使用virtualenv.
我们构建虚拟环境,通常是 virtualenv + virtualenvwrapper
virtualenv
virtualenv
: 常见虚拟环境,隔离python版本
核心
虚拟环境是真实python环境的复制版本。
在虚拟环境中使用的python是复制的python。
virtualenvwrapper
优点:
- 将所有虚拟环境整合在一个目录下
- 管理(新增,删除,复制)虚拟环境
- 方便切换虚拟环境
虚拟环境的搭建
安装虚拟环境
在linux下安装虚拟环境,比如ubuntu16.04
- 1、安装虚拟环境
sudo pip install virtualenv
.
- 2、安装虚拟环境扩展包
sudo pip install virtualenvwrapper
.
- 3、编辑家目录下面的.bashrc文件,添加下面两行。
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
.
- 4、执行source .bashrc命令,让配置生效
source .bashrc
我们这里是两步一起实现,步骤1、2、3是连在一起的。当然也可以分开。
管理虚拟环境
所谓管理,无非就是增删改查。
创建虚拟环境
- 创建默认虚拟环境命令:
mkvirtualenv 虚拟环境名
.
- 创建python3虚拟环境:
mkvirtualenv -p python3 test_pj
(指定python3版本,项目名为 test_pj)
进入虚拟环境工作
workon 虚拟环境名
image.png
查看机器上有多少个虚拟环境
workon或者lsvirtualenv -b
退出虚拟环境
deactivate
删除虚拟环境
rmvirtualenv 虚拟环境名
虚拟环境安装包
虚拟环境下安装包
pip install 包名
注:如果使用 sudo pip install 包名
安装包,那么这个命令会把包安装到真实的主机环境上,而不是安装到虚拟环境中。
比如安装Django
这个语句是在虚拟环境下执行的
pip install django==1.8.2
虚拟环境下软件
apt-get install 软件
查看虚拟环境中安装了哪些python包
两种方式,pip list
和 pip freeze
。
我们在test_pj这个虚拟环境中安装了Django1.8.2
方式一
pip list
image.png
.
.
方式二
pip freeze
image.png
两者都可以,区别是list会把默认安装的也显示上。
虚拟环境中创建Django项目
前提是我们已经创建了虚拟环境,已经安装可Django
创建Django项目
进入虚拟环境后,创建项目
django-admin startproject 项目名
项目目录
创建好项目中,进入项目,tree一下
image.png结构分析
-
__init__.py
: 说明test1是一个python包。 - settings.py: 项目的配置文件。使用什么数据库之类的
- urls.py: 进行url路由的配置。
- wsgi.py: web服务器和Django交互的入口。
- manage.py: 项目的管理文件。
创建Django应用
在Django中,一个功能模块
使用一个应用
来实现。
创建应用的命令如下
python manage.py startapp 应用名
注意:创建应用时需要先进入项目目录。
应用目录如下
(创建app之后进入app目录,tree一下)
image.png-
__init__.py
: 说明目录是一个Python模块。 - models.py: 写和数据库项目的内容, 设计模型类。
- views.py: ,接收请求,进行处理,与M和T进行交互,返回应答。
定义处理函数,视图函数。 - tests.py: 写测试代码的文件。
- admin.py: 网站后台管理相关的文件。
应用注册
建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py中的INSTALLED_APPS配置项。
进行注册
image.png
启动项目服务器
Django本身给每一个项目配置一个web服务器
运行开发web服务器命令(虚拟环境中):
python manage.py runserver
执行效果下图:
image.png
访问http://127.0.0.1:8000/
:
![image]
退出
如终端所言,control + c 。
本文完。
网友评论