使用 tensorflow 在 docker 上导入 pandas

Iva*_*van 6 python machine-learning pandas docker tensorflow

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

按照通常的说明:

$ docker run -it gcr.io/tensorflow/tensorflow
Run Code Online (Sandbox Code Playgroud)

我可以在我的浏览器上启动一个 Jupyter notebook192.168.99.100:8888并运行教程 notebook 没有问题。

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

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

截屏

Ste*_*fan 6

Dockerimage应该构建在linux操作系统上。您应该shell在 Docker 内部启动一个image grc.io/tensorflow/tensorflow以安装必需的 Python 依赖项。

有关使用,请参阅 Docker快速入门

docker run -it grc.io/tensorflow/tensorflow /bin/bash
Run Code Online (Sandbox Code Playgroud)

进而

sudo apt-get install python-pandas
Run Code Online (Sandbox Code Playgroud)

根据熊猫文档

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

commit进行更改,您需要获得container idrun上面的之后和安装步骤):

sudo docker ps –a # Get list of all containers previously started with run command
Run Code Online (Sandbox Code Playgroud)

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

sudo docker commit container_id image_name 
Run Code Online (Sandbox Code Playgroud)

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

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

请参阅“更新和提交您的图像”下的文档


Alo*_*ona 5

对于Windows用户:

docker run -d -p 8888:8888 -v /c/Users/YOUR_WIN_FOLDER:/home/ds/notebooks gcr.io/tensorflow/tensorflow
Run Code Online (Sandbox Code Playgroud)

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

docker ps
Run Code Online (Sandbox Code Playgroud)

然后运行:

docker exec <NAME OF CONTAINER> apt-get update
Run Code Online (Sandbox Code Playgroud)

最后安装熊猫:

docker exec <NAME OF CONTAINER> apt-get install -y python-pandas 
Run Code Online (Sandbox Code Playgroud)

(-y 是一个自动的“是”,以阻止出现提示您同意安装占用额外的磁盘空间)