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:8000
或127.0.0.1:8000
地址打开我们的 shell Flask 应用程序。
现在我们已经准备好进行一些真正的 Flask 开发了!
准备开发
这是在 Ubuntu 16.04 上使用 Flask 和 Gunicorn 进行开发的简单设置。如果您需要深入的分步教程来将 WSGI 驱动的 Web 应用程序部署到生产环境,请查看《全栈 Python 部署指南》一书。
要确定接下来要为您的 Python 项目编写什么代码,请阅读目录页面上的主题。
有问题吗?通过 Twitter@fullstackpython 或@mattmakai 与我联系。我也在 GitHub 上,用户名是 mattmakai。
这篇文章有问题吗?在 GitHub 上创建此页面的源代码并提交拉取请求。