使用 tensorflow 在 docker 上导入 pandas

Import pandas on docker with tensorflow

我正在使用Windows并正在学习使用tensorflow,所以我需要运行它在Docker(工具箱)下。

遵循通常的说明:

$ docker run -it gcr.io/tensorflow/tensorflow

我可以在 192.168.99.100:8888 和 运行 教程笔记本上毫无问题地在我的浏览器上启动 Jupyter 笔记本。

现在,当我尝试使用 pip 安装在我的计算机中的 import pandas as pd 时,在 Juypter 上它只是说 ImportError: No module named pandas

知道如何让这个库在从 docker 启动的 tensorflow 图像中工作吗?

Screenshot

Docker image 应该建立在 linux 操作系统上。您应该在 Docker image grc.io/tensorflow/tensorflow 中启动 shell 以安装必需的 python 依赖项。

参见 Docker quickstart 使用

docker run -it grc.io/tensorflow/tensorflow /bin/bash

然后

sudo apt-get install python-pandas

根据 pandas docs.

为避免每次启动图像时都这样做,您需要 commit 更改以创建新的 image

commit的变化,你需要得到containerid(在run和上面的安装步骤之后):

sudo docker ps –a # Get list of all containers previously started with run command

然后,commit 使用您刚刚获得的容器列表中显示的 container_id 更改 git 样式,并为其提供您选择的 image_name

sudo docker commit container_id image_name 

新的 image 现在将出现在 sudo docker ps –a 显示的列表中。

如果您获得一个免费的 docker 帐户,您可以 pushpull 您更新的 image 到您的 docker repo,或者只保存在本地。

参见 'Updating and Committing your image' 下的 docs

windows 用户:

docker run -d -p 8888:8888 -v /c/Users/YOUR_WIN_FOLDER:/home/ds/notebooks gcr.io/tensorflow/tensorflow

然后使用以下命令查看您的容器的名称,以便稍后执行命令(最后一列将是名称):

docker ps

然后 运行:

docker exec <NAME OF CONTAINER> apt-get update

最后安装 pandas:

docker exec <NAME OF CONTAINER> apt-get install -y python-pandas 

(-y 是一个自动 'yes' 来阻止提示您同意安装占用额外的磁盘 space)

这是安装了 pandas 的图像 - https://hub.docker.com/r/zavolokas/tensorflow-udacity/ 或者拉一下docker pull zavolokas/tensorflow-udacity:pandas