如何在 Windows 上安装 Django

本文是安装在 Windows 上安装 Python 3.8 和 Django 的指南。同时也提供了关于配置虚拟环境的介绍,它们使得编写 Python 工程变的非常简单。这是为从事 Django 项目的用户提供的入门指南,而介绍为 Django 本身开发补丁时该如何安装 Django。

指南中的下列步骤已在 Windows 10上测试通过。其它版本上,步骤类似。你需要熟悉如何使用 Windows 的命令提示符。

安装Python

Django 是一个 Python Web 框架,因此需要在您的机器上安装 Python。在本文撰写时,Python 最新的版本是 3.8。

要在您的机器上安装 Python,请访问Python官方下载地址 https://www.python.org/downloads/ 。 该网页应该为您提供最新 Python 版本的下载按钮。 下载可执行安装程序并运行它。 选中 "Install launcher for all users (recommended)" 旁边的框,然后单击 "Install Now"。

安装后,打开命令提示符,检查 Python 版本是否与你装的一致,通过运行:

...\> py --version

参见

想知晓更多细节,请查看 Using Python on Windows 文档。

关于 pip

pip 是 Python 的包管理器并且默认就在Python安装包里。它使得 Python 包(例如 Django)的安装和卸载变的非常简单。剩下的安装流程中,我们会用 pip 从命令行安装 Python 包。

配置一个虚拟环境

最佳实践是为你创建的每一个Django项目创建一个独立的环境。在Python生态系统中有许多可以用来管理环境和包的可选工具,一些在 Python documentation 被推荐过。我们将会在这份指南中使用Python本身自带的 venv 来管理环境。

要为你的项目创建一个虚拟环境,打开新的命令行窗口,转至你想创建项目的文件夹,然后输入如下命令

...\> py -m venv project-name

这样就会创建一个名字为“project-name”文件夹并且设置好相应的虚拟环境。为了激活环境,请执行如下命令

...\> project-name\Scripts\activate.bat

虚拟环境就会激活,并且你会在命令提示符旁边看到 "(project-name)" 指向该环境。每次你打开新的命令行窗口,你需要再次激活环境。

安装 Django

Django 可以轻松地在你的虚拟环境中使用 pip 安装。

在命令提示行中,确认虚拟环境是激活的,然后运行以下命令:

...\> py -m pip install Django

这将下载并安装最新的 Django 发布版本。

安装完成后,你可以在命令提示符运行 django-admin --version 验证你安装的 Django。

参考 数据库安装 了解如何通过 Django 安装数据库。

彩色终端输出

New in Django 3.2.

为终端添加了彩色(而不是单色)输出是一种能提升生活质量的功能。 在现代终端中,这应该适用于 CMD 和 PowerShell。如果由于某种原因需要禁用它,请将环境变量 DJANGO_COLORS 设为 nocolor

在较旧的 Windows 版本或旧终端上,必须安装 colorama 以启用语法着色:

...\> py -m pip install colorama

有关颜色配置的更多信息,请参阅 语法着色

常见失误

  • django-admin 无论输入啥参数都只显示帮助信息,这可能是一个 Windos 的文件关联问题。检查 PATH 中是否不止一个用于运行 Python 脚本的环境变量。该问题通常在安装了多个 Python 版本时出现。

  • 若你通过代理来连接互联网,运行命令 pip install Django 时可能会出现问题。在命令提示符中为代理配置如下环境变量:

    ...\> set http_proxy=http://username:password@proxyserver:proxyport
    ...\> set https_proxy=https://username:password@proxyserver:proxyport
    
  • 通常,Django 假定 UTF-8 编码用于 I/O。 如果您的系统设置为使用不同的编码,这可能会导致问题。 最近版本的 Python 允许配置 PYTHONUTF8 环境变量以强制使用“UTF-8”编码。Windows 10 还通过在系统配置中的语言配置 Language ‣ Administrative Language Settings ‣ Change system locale 中选中 Use Unicode UTF-8 for worldwide language support 来进行系统范围的配置。