python项目虚拟环境管理virtualenv+Django实例

本文出自“阿敏其人”简书博客。转载请著名出处和链接地址。


每一个版本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 listpip 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]

image.png

退出
如终端所言,control + c 。

本文完。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容