在本篇短文中,我们将讨论如何让 Yape 在 docker 容器中运行,从而避免在本地计算机上安装设置 python。
距离本系列的上一篇文章已经有一段时间了,让我们快速回顾一下。
我们讨论了使用 matplotlib 创建基本图形。 之后我们介绍了使用 bokeh 生成动态图形。 在第三部分中,我们讨论了使用 monlbl 数据生成热图。
在通过各种渠道获得的反馈中,有一个相同的难题是设置一个环境来运行上面的例子。 所以我们决定让实现变得更容易一些,我与 Murray 合作为他的优秀工具 Yape 创建了一个 Dockerfile。 Github 页面
当然,您必须在您的计算机上安装并运行 docker。
Dockerfile
一个相当简单的基于官方 python 映像的 docker 定义:
FROM python:3
WORKDIR .
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
Requirements.txt 包含运行 yape 所需的包:
altgraph==0.10.2
py-dateutil==2.2
bdist-mpkg==0.5.0
certifi==2017.7.27.1
cffi==1.10.0
chardet==3.0.4
idna==2.5
bokeh==0.12.6
macholib==1.5.1
matplotlib==2.0.2
pandas==0.20.3
modulegraph==0.10.4
numpy==1.13.1
py2app==0.7.3
pycparser==2.18
pyparsing==2.0.1
python-dateutil==1.5
pytz==2013.7
requests==2.18.3
six==1.4.1
urllib3==1.22
zope.interface==4.1.1
要构建映像,只需从github 中check out,然后运行 docker build:
git clone https://github.com/murrayo/yape.git
docker build -t yape .
(在pull request被合并之前,使用 https://github.com/kazamatzuri/yape.git)
这将需要几分钟的时间,具体取决于您的计算机/互联网连接的速度。
之后可以使用如下命令对 pButtons 文件运行 yape:
docker run -v `pwd`/in:/data --rm --name yape-test yape \
./extract_pButtons.py -o /data \
/data/pButtons.html
docker run -v `pwd`/in:/data --rm --name yape-test yape \
./graph_pButtons.py -o /data/charts /data
我们在当前工作目录中使用
/in
并将其映射到容器中的 /data
。 我们将从该目录获得 pButtons.html,同时图形也将输出到该目录。
注意
我必须向脚本添加参数,我们要将它们合并到官方 yape 仓库中(pull request)