如何在 Windows 上安装 Django

本文档将引导您在 Windows 上安装 Python 3.12 和 Django。它还提供了设置虚拟环境的步骤,这使得处理 Python 项目变得更加容易。这是为进行 Django 项目开发的初学者准备的指南,并不反映当对 Django 本身进行更改时如何正确安装 Django。

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

安装Python

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

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

安装完成后,打开命令提示符并通过执行以下命令检查 Python 版本是否与您安装的版本匹配:

  1. ...\> py --version

py is not recognized or found

Depending on how you’ve installed Python (such as via the Microsoft Store), py may not be available in the command prompt.

You will then need to use python instead of py when entering commands.

参见

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

关于 pip

pip 是 Python 的包管理器,并且默认随 Python 安装程序一起提供。它有助于从命令行安装和卸载 Python 包(例如 Django!)。在接下来的安装中,我们将使用 pip 来从命令行安装 Python 包。

配置一个虚拟环境

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

要为您的项目创建虚拟环境,请打开一个新的命令提示符,导航到您希望创建项目的文件夹,然后输入以下命令:

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

这将在不存在时创建一个名为’ project-name ‘的文件夹,并设置虚拟环境。要激活该环境,请运行以下命令:

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

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

安装 Django

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

在命令提示符中,确保您的虚拟环境处于激活状态,并执行以下命令:

  1. ...\> py -m pip install Django

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

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

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

彩色终端输出

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

在旧版 Windows 或传统终端上,必须安装 colorama 0.4.6+ 以启用语法着色:

  1. ...\> py -m pip install "colorama >= 0.4.6"

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

常见失误

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

  • 如果你在代理后面连接到互联网,运行命令 py -m pip install Django 可能会出现问题。可以在命令提示符中设置代理配置的环境变量,如下所示:

    1. ...\> set http_proxy=http://username:password@proxyserver:proxyport
    2. ...\> 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 来进行系统范围的配置。