在 Ubuntu 16.04 LTS 上设置 Python 3、Django 和 Gunicorn

Ubuntu 于 2016 年 4 月发布了其操作系统的最新长期支持 (LTS) 版本。该更新将 Ubuntu 带到了 16.04 版本,其最新代号为“Xenial Xerus”。 16.04 是第一个将 Python 3 作为默认 Python 安装的 Ubuntu 版本。

让我们使用这个最新的 Ubuntu 版本和 Python 3.5 版来启动一个新的 Django Web 应用程序项目并使用 Green Unicorn (Gunicorn) 运行它。

我们需要的工具

我们需要一些工具来完成我们的项目。不要担心安装这些,因为我们会在教程中逐步安装它们。截至 2017 年 4 月,这些工具及其当前版本为:

  • Ubuntu 16.04.2 LTS (Xenial Xerus)
  • Python 版本 3.5.1(Ubuntu 16.04.2 默认)。 Python 3.6 已经发布,但 Ubuntu 16.04.2 默认带有 3.5.1,所以我们将在本文中使用 3.5.1 版本。
  • Django web 框架 version1.11
  • Green独角兽(Gunicorn)版本19.7.1

如果您运行的是 Mac OS X 或 Windows,请使用虚拟化软件,例如 Parallels(这是我使用的,但它仅适用于 Mac OS X)或带有 Ubuntu .iso 文件的 VirtualBox。 16.04的amd64或者ori386版本都可以,但是我在这篇博文中使用amd64进行开发和测试。

当我们第一次启动时,我们应该看到这样的桌面屏幕。

打开终端以继续设置。

系统包

我们可以看到Ubuntu自带的python3版本,以及它的可执行文件存放的地方。

python3 --version
which python3

我们的 Ubuntu 安装首先需要用于 Python 开发的系统包。系统会提示您输入超级用户密码,因为通过 apt 安装包需要受限的系统访问权限。

sudo apt-get install python3-pip python3-dev

输入y,让系统包安装过程运行。

现在我们需要的基本系统包已经安装好了,所以我们可以继续安装特定于 Python 的依赖项。

虚拟环境

用于隔离和处理应用程序依赖关系的 Virtualenv 和 pip 刚刚通过系统包安装,因此我们现在可以使用它们来获取 Django 和 Gunicorn。

创建一个存放virtualenvs的目录,然后在里面放一个新的virtualenv。

# make sure pip and setuptools are the latest version
pip3 install --upgrade pip setuptools
# the tilde "~" specifies the user's home directory, like /home/matt
cd ~
mkdir venvs
# specify the system python3 installation
python3 -m venv venvs/djproject

激活虚拟环境。

source ~/venvs/djproject/bin/activate

我们应该看到我们的提示更改,以便我们知道 virtualenv 已正确激活。

我们的 Python 3 virtualenv 已激活,因此我们可以安装任何我们想要的依赖项,例如 Django 和 Gunicorn。

Django 和 Gunicorn

是时候将 Django 和 Green Unicorn 安装到我们的 virtualenv 中了。

pip install django gunicorn

没有错误是一个好兆头,一切都对我们有用。

创建一个名为djproject 的新 Django 项目,或者您想要为项目命名的任何名称。然后切换到新项目的目录。

django-admin startproject djproject
cd djproject

我们可以使用python manage.py runserver 命令在开发服务器上运行Django。但是,改为使用 Gunicorn 启动 Django。

gunicorn djproject.wsgi

太棒了,现在我们可以在 Web 浏览器中的 localhost:8000127.0.0.1:8000 地址打开我们的 shell 项目。

准备开发!

准备开发

这些是在 Ubuntu 16.04 上使用 Django 和 Gunicorn 开始开发的基础知识。如果您需要更深入的分步教程来将您的 Python Web 应用程序部署到生产环境,请查看《全栈 Python 部署指南》一书。

要弄清楚您的 Python 项目接下来要做什么,请阅读目录页面上的主题。

有问题吗?通过 Twitter@fullstackpython 或@mattmakai 与我联系。我也在 GitHub 上,用户名是 mattmakai。

看到这篇文章有什么问题了吗?在 GitHub 上创建此页面的源代码并提交拉取请求。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏