如何在 Windows 上安装 Django¶
本文档将指导您在 Windows 上安装 Python 3.13 和 Django。它还提供了设置虚拟环境的说明,这使得处理 Python 项目更加容易。这旨在作为 Django 项目用户的初学者指南,并不反映在开发 Django 本身更改时应如何安装 Django。
本指南中的步骤已在 Windows 10 上进行了测试。在其他版本中,步骤类似。您需要熟悉使用 Windows 命令提示符。
安装 Python¶
Django 是一个 Python Web 框架,因此需要在您的机器上安装 Python。在撰写本文时,Python 3.13 是最新版本。
要在您的机器上安装 Python,请访问https://pythonlang.cn/downloads/。该网站应为您提供最新 Python 版本的下载按钮。下载可执行安装程序并运行它。选中“为所有用户安装启动器(推荐)”旁边的复选框,然后单击“立即安装”。
安装完成后,打开命令提示符并通过执行以下命令检查 Python 版本是否与您安装的版本匹配
...\> py --version
py
未被识别或找不到
根据您安装 Python 的方式(例如通过 Microsoft Store),py
可能在命令提示符中不可用。
然后,在输入命令时,您需要使用python
而不是py
。
另请参阅
有关更多详细信息,请参阅在 Windows 上使用 Python 文档。
关于 pip
¶
pip 是 Python 的包管理器,Python 安装程序默认包含它。它有助于安装和卸载 Python 包(例如 Django!)。在安装的其余部分,我们将使用pip
从命令行安装 Python 包。
设置虚拟环境¶
最佳实践是为创建的每个 Django 项目提供一个专用环境。在 Python 生态系统中,有很多管理环境和包的选项,其中一些在Python 文档中推荐。Python 自带venv 用于管理环境,在本指南中我们将使用它。
要为您的项目创建一个虚拟环境,请打开一个新的命令提示符,导航到您要创建项目的文件夹,然后输入以下内容
...\> py -m venv project-name
如果“project-name”文件夹尚不存在,这将创建该文件夹并设置虚拟环境。要激活环境,请运行
...\> project-name\Scripts\activate.bat
虚拟环境将被激活,您将在命令提示符旁边看到“(project-name)”以指示这一点。每次启动新的命令提示符时,都需要重新激活环境。
安装 Django¶
可以使用虚拟环境中的pip
轻松安装 Django。
在命令提示符中,确保您的虚拟环境处于活动状态,并执行以下命令
...\> py -m pip install Django
这将下载并安装最新的 Django 版本。
安装完成后,您可以通过在命令提示符中执行django-admin --version
来验证您的 Django 安装。
请参阅运行数据库,了解有关使用 Django 安装数据库的信息。
彩色终端输出¶
一项提高生活质量的功能为终端添加了彩色(而不是单色)输出。在现代终端中,这应该适用于 CMD 和 PowerShell。如果由于某种原因需要禁用此功能,请将环境变量DJANGO_COLORS
设置为nocolor
。
在较旧的 Windows 版本或旧版终端上,必须安装colorama 0.4.6+ 以启用语法着色
...\> py -m pip install "colorama >= 0.4.6"
请参阅语法着色,了解有关颜色设置的更多信息。
常见问题¶
如果
django-admin
无论给出什么参数都只显示帮助文本,则 Windows 中的文件关联可能存在问题。检查PATH
中是否设置了多个用于运行 Python 脚本的环境变量。这通常发生在安装了多个 Python 版本时。如果您通过代理连接到互联网,则运行命令
py -m 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 还提供了一个系统范围的设置,方法是在系统设置中的 中选中为全球语言支持使用 Unicode UTF-8
。