---
title: "如何在 Windows 上安装 Django"
version: 3.1
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/3.1/howto/windows/
canonical: https://djangodocs.dev/zh-hans/3.1/howto/windows/
---
# 如何在 Windows 上安装 Django

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

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

## 安装Python

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

想将 Python 安装在你的机器上，可以到 <https://python.org/downloads/> 这个网址。这个网站将为你提供一个下载按钮来下载最新的 Python 版本。下载可执行程序安装包并运行它。然后勾选 `为所有用户安装快捷方式（推荐）` 接着点击 `开始安装`。

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

```doscon
...\> py --version
```

> **See also**
>
> 想知晓更多细节，请查看 [Using Python on Windows](https://docs.python.org/3/using/windows.html) 文档。

## 关于 `pip`

[pip](https://pypi.org/project/pip/) 是 Python 的包管理器并且默认就在Python安装包里。它使得 Python 包（例如 Django）的安装和卸载变的非常简单。剩下的安装流程中，我们会用 `pip` 从命令行安装 Python 包。

## 配置一个虚拟环境

最佳实践是为你创建的每一个Django项目创建一个独立的环境。在Python生态系统中有许多可以用来管理环境和包的可选工具，一些在 [Python documentation](https://packaging.python.org/guides/tool-recommendations/) 被推荐过。我们将会在这份指南中使用Python本身自带的 [venv](https://docs.python.org/3/tutorial/venv.html)  来管理环境。

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

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

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

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

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

## 安装 Django

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

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

```doscon
...\> py -m pip install Django
```

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

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

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

## 常见失误

- 若 `django-admin` 无论输入啥参数都只显示帮助信息，这可能是一个 Windos 的文件关联问题。检查 `PATH` 中是否不止一个用于运行 Python 脚本的环境变量。该问题通常在安装了多个 Python 版本时出现。
- 若你通过代理来连接互联网，运行命令 `pip install Django` 时可能会出现问题。在命令提示符中为代理配置如下环境变量:

  ```doscon
  ...\> set http_proxy=http://username:password@proxyserver:proxyport
  ...\> set https_proxy=https://username:password@proxyserver:proxyport
  ```
