django安装_Django:虚拟环境和Django的安装(一)

虚拟环境

官方文档:https://docs.python.org/zh-cn/3/tutorial/venv.html

  • 为什么需要虚拟环境

Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者可以使用库的过时版本的接口编写应用程序。

这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本,则需求存在冲突,安装版本1.0或2.0将导致某一个应用程序无法运行。

这个问题的解决方案是创建一个 virtual environment,一个目录树,其中安装有特定Python版本,以及许多其他包。

然后,不同的应用将可以使用不同的虚拟环境。 要解决先前需求相冲突的例子,应用程序 A 可以拥有自己的 安装了 1.0 版本的虚拟环境,而应用程序 B 则拥有安装了 2.0 版本的另一个虚拟环境。 如果应用程序 B 要求将某个库升级到 3.0 版本,也不会影响应用程序 A 的环境。

  • 虚拟环境原理介绍

虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目中,我可以指定这个项目的虚拟环境来配合我的项目。比如我们现在有一个项目是基于 Django2.20.x 版本,又有一个项目是基于 Django 1.1.x 的版本,那么这时候就可以创建两个虚拟环境,在这两个虚拟环境中分别安装 Django 2.20.x 和 Django 1.1.x 来适配我们的项目。

  • 安装 virtualenv

virtualenv 是用来创建虚拟环境的软件工具,我们可以通过 pip 或者 pip3 来安装:

pip install virtualenv​pip3 install virtualenv​#或者python -m pip install virtualenv
  • 创建虚拟环境

创建虚拟环境非常简单,通过以下命令就可以创建了:

virtualenv [虚拟环境的名字]#需要提前将virtualenv的绝对地址加入环境变量,如D:Program Files (x86)Python3.7Scripts

如果你当前的 Python3/Scripts 的查找路径在 Python2/Scripts 的前面,那么将会使用 python3 作为这个虚拟环境的解释器。如果 python2/Scripts 在 python3/Scripts 前面,那么将会使用 Python2 来作为这个虚拟环境的解释器。

  • 进入环境

虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境 在不同的操作系统中有不同的方式,一般分为两种,第一种是 Windows ,第二种是 linux:

1、windows 进入虚拟环境:进入到虚拟环境的 Scripts 文件夹中,然后执行 activate 。

2、linux 进入虚拟环境: source /path/to/virtualenv/bin/activate一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

  • 退出虚拟环境

退出虚拟环境很简单,通过一个命令就可以完成:deactivate 。

  • 创建虚拟环境的时候指定 Python 解释器

在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的 Python2/Scripts 在 Python3/Scripts 的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用 Python3 这个版本,这时候可以通过 -p 参数来指定具体的 Python 解释器:

virtualenv -p C:Python36python.exe [virutalenv name]
  • 例子
E:studydjango_study1>virtualenv env1                    #创建虚拟环境E:studydjango_study1>cd env1Scripts  E:studydjango_study1env1Scripts>activate              #启动虚拟环境(env1) E:studydjango_study1env1Scripts>               #前面有(env1)代表已经启动虚拟环境(env1) E:studydjango_study1env1Scripts>deactivate.bat #退出虚拟环境E:studydjango_study1env1Scripts>

virtualenvwrapper

virtualenvwrapper 这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通 过 virtualenv 来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。 安装 virtualenvwrapper:

#linux: pip install virtualenvwrapper #windows: pip install virtualenvwrapper-win #         或者python -m pip install virtualenvwrapper-win

virtualenvwrapper 基本使用

  • 创建虚拟环境:
mkvirtualenv my_env

那么会在你当前用户下创建一个 Env 的文件夹,然后将这个虚拟环境安装到这个目录下。如果你电脑中安装了 python2 和 python3 ,并且两个版本中都安装了 virtualenvwrapper ,那么将会使用环境变量中第一个出现的 Python 版本来作为这个虚拟环境的 Python 解释器。

  • 切换到某个虚拟环境
workon my_env
  • 退出当前虚拟环境
deactivate
  • 删除某个虚拟环境
rmvirtualenv my_env
  • 列出所有虚拟环境
lsvirtualenv
  • 进入到虚拟环境所在的目录
cdvirtualenv
  • 修改 mkvirtualenv 的默认路径

在 我的电脑->右键->属性->高级系统设置->环境变量->系统变量 中添加一个参数 WORKON_HOME ,将这个参数的值设置为你需要的路径。

  • 创建虚拟环境的时候指定 Python 版本

在使用 mkvirtualenv 的时候,可以指定 --python 的参数来指定具体的 python 路径:

mkvirtualenv --python==C:Python36python.exe hy_env
  • 例子
#安装E:studydjango_study2>python -m pip install virtualenvwrapper-win​#创建虚拟环境并自动进入E:studydjango_study2>mkvirtualenv env2(env2) E:studydjango_study2>​#进入虚拟环境E:studydjango_study2>workon env2(env2) E:studydjango_study2>ls​#退出虚拟环境(env2) E:studydjango_study2>deactivate​#列举虚拟环境E:studydjango_study2>lsvirtualenvdir /b /ad "C:甥敳獲AdministratorEnvs"==============================================================================env2​#进入虚拟环境目录E:studydjango_study2>cdvirtualenvD:Program Files (x86)Python3.7>

创建Django

使用命令行创建Django项目

  • 安装Django

进入虚拟环境并安装Django

(env2) E:studydjango_study2>python -m pip install django​(env2) E:studydjango_study2>pip listPackage    Version---------- -------asgiref    3.2.3Django     3.0.2pip        19.3.1pytz       2019.3setuptools 44.0.0sqlparse   0.3.0wheel      0.33.6

重新打开终端

E:studydjango_study2>workon env2(env2) E:studydjango_study2>django-admin startproject mysite
  • 项目目录介绍
mysite    - mysite    # 对整个程序进行配置    - init      #一个空文件,它告诉Python这个目录应该被看做一个Python包    - settings    # 项目配置文件    - url      # URL对应关系(路由)    - wsgi     # 遵循WSIG规范,uwsgi + nginx- manage.py     # 一个命令行工具,可以使你用多种方式对Django项目进行交互
  • 运行Django
(env2) E:studydjango_study2>cd mysite​(env2) E:studydjango_study2mysite>lsmanage.py  mysite​(env2) E:studydjango_study2mysite>python manage.py runserverWatching for file changes with StatReloaderPerforming system checks...​System check identified no issues (0 silenced).​You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.January 08, 2020 - 17:29:10Django version 3.0.2, using settings 'mysite.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.

然后使用浏览器浏览:http://127.0.0.1:8000/

  • 例子
E:studydjango_study2>workon env2(env2) E:studydjango_study2>django-admin startproject mysite(env2) E:studydjango_study2>lsmysite​(env2) E:studydjango_study2>cd mysite​(env2) E:studydjango_study2mysite>lsmanage.py  mysite​(env2) E:studydjango_study2mysite>python manage.py runserverWatching for file changes with StatReloaderPerforming system checks...​System check identified no issues (0 silenced).​You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.January 08, 2020 - 17:29:10Django version 3.0.2, using settings 'mysite.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.

使用pycharm创建Django

使用pycharm创建Django会自动创建虚拟环境

  • 创建
django安装_Django:虚拟环境和Django的安装(一)_第1张图片

项目创建

  • 启动
django安装_Django:虚拟环境和Django的安装(一)_第2张图片

启动django

你可能感兴趣的:(django安装,python,虚拟环境,配置环境变量,python创建虚拟环境)