如何在 Ubuntu 16.04 LTS 上设置 Python 3、Flask 和 Green Unicorn

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

我们可以使用 Ubuntu 版本和 Python 3.5 版本启动一个新的 Flask 网络应用程序项目,并使用绿色独角兽(Gunicorn)运行它。

我们需要的工具

我们的项目将使用 Ubuntu 16.04 版本以及一些其他库。您不必立即安装这些工具,我们将在演练过程中安装它们。我们的要求及其截至 2017 年 4 月的当前版本是:

  • Ubuntu 16.04.2 LTS (Xenial Xerus)
  • Python version3.5.1(Ubuntu 16.04.2 默认)
  • Flask web framework version0.12
  • 绿独角兽(Gunicorn)版本19.7.1

如果您在 Mac OS X 或 Windows 上运行,请使用带有 Ubuntu .iso 文件的虚拟化软件,例如 Parallels 或 VirtualBox。 16.04的amd64 ori386版本都可以。我在本教程中使用 amd64 进行开发和测试。

启动 Ubuntu 后,您应该会看到这样的屏幕。

打开终端窗口以继续设置。

系统包

通过这些命令我们可以看到Ubuntu自带的python3系统版本及其可执行文件存放的位置。

python3 --version
which python3

我们的 Ubuntu 安装需要一些系统包。我们将收到输入超级用户密码的提示,因为通过 apt 安装软件包需要受限的系统访问权限。

sudo apt-get install python3-dev python3-pip

输入y 让系统包安装过程完成它的工作。

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

虚拟环境

在上一节中,安装了 virtualenv 和 pip 来处理我们的应用程序依赖项。我们现在可以使用它们来下载和安装 Flask 和 Gunicorn。

为虚拟环境创建一个目录。然后创建一个新的 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/flaskproj

激活虚拟环境。

source ~/venvs/flaskproj/bin/activate

正确激活 virtualenv 后,我们的提示会改变。

我们的 virtualenv 现在已使用 Python 3 激活。我们可以安装任何我们想要的依赖项,在我们的例子中是 Flask 和 Gunicorn。

Flask 和 Gunicorn

我们终于可以通过pip命令安装Flask和Green Unicorn了。

pip install flask gunicorn

如果我们没有收到如下屏幕截图所示的错误,这是一个好兆头。

在我们的主目录下创建一个新目录,用于存储我们的 Flask 项目。将目录更改为新文件夹。

mkdir ~/flaskproj
cd ~/flaskproj

在我们的 __init__.py 目录中创建一个名为 flaskproj 的新文件,这样我们就可以测试以确保 Flask 正常工作。我更喜欢使用 Vim,但 Emacs 和其他开发环境也能很好地工作。

__init__.py 内编写以下代码。

from flask import Flask, Response


app = Flask(__name__)

@app.route("/")
def index():
    return Response("It works!"), 200

if __name__ == "__main__":
    app.run(debug=True)

我们可以使用python __init__.py 命令在 Flask 开发服务器上运行我们的应用程序。而是使用 Gunicorn 运行 Flask 应用程序。转到flaskproj文件夹上面的目录,在我们的例子中我们可以输入cd ~然后使用gunicorn命令:

gunicorn flaskproj:app

好的,我们可以在网络浏览器中的localhost:8000127.0.0.1:8000 地址打开我们的 shell Flask 应用程序。

现在我们已经准备好进行一些真正的 Flask 开发了!

准备开发

这是在 Ubuntu 16.04 上使用 Flask 和 Gunicorn 进行开发的简单设置。如果您需要深入的分步教程来将 WSGI 驱动的 Web 应用程序部署到生产环境,请查看《全栈 Python 部署指南》一书。

要确定接下来要为您的 Python 项目编写什么代码,请阅读目录页面上的主题。

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

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

赞(0) 打赏

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

支付宝扫一扫打赏

微信扫一扫打赏