在本篇短文中,我们将讨论如何让 Yape 在 docker 容器中运行,从而避免在本地计算机上安装设置 python。
距离本系列的上一篇文章已经有一段时间了,让我们快速回顾一下。
我们讨论了使用 matplotlib 创建基本图形。 之后我们介绍了使用 bokeh 生成动态图形。 在第三部分中,我们讨论了使用 monlbl 数据生成热图。使用 bokeh 生成动态图形。 在第三部分中,我们讨论了使用 monlbl 数据生成热图。使用 monlbl 数据生成热图。
在通过各种渠道获得的反馈中,有一个相同的难题是设置一个环境来运行上面的例子。 所以我们决定让实现变得更容易一些,我与 Murray 合作为他的优秀工具 Yape 创建了一个 Dockerfile。 Github 页面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)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)