我在使用Windows系统并学习使用TensorFlow,因此需要在Docker(Toolbox)下运行它。
按照常规的指示:
$ docker run -it gcr.io/tensorflow/tensorflow
我可以在浏览器中启动Jupyter笔记本,地址为192.168.99.100:8888,并且可以无障碍地运行教程笔记本。
现在当我在Jupyter中尝试import pandas as pd时(我的电脑上已通过pip安装了pandas),它显示ImportError: No module named pandas错误。
有什么办法可以让这个库在从Docker启动的TensorFlow镜像中正常工作吗?
回答:
Docker的镜像应基于Linux操作系统构建。你应该在Docker镜像grc.io/tensorflow/tensorflow内启动一个shell来安装所需的Python依赖项。
请参阅Docker的快速入门指南,使用
docker run -it grc.io/tensorflow/tensorflow /bin/bash
然后执行
sudo apt-get install python-pandas
根据pandas文档进行操作。
为了避免每次启动镜像时都重复这个过程,你需要提交更改以创建一个新的镜像。
要提交更改,你需要获取容器的id(在上述运行和安装步骤之后):
sudo docker ps –a # 获取之前使用run命令启动的所有容器列表
然后,使用你刚获取的容器列表中显示的container_id,以git风格提交你的更改,并为其指定一个你选择的image_name:
sudo docker commit container_id image_name
新的镜像现在将显示在sudo docker ps –a命令输出的列表中。
如果你有一个免费的docker账户,你可以将更新后的镜像推送和拉取到你的docker仓库,或者只在本地保留它。
请参阅文档中的“更新和提交你的镜像”部分。