3

I have a very basic dockerfile as follows:

FROM gcr.io/tensorflow/tensorflow:latest-gpu

FROM python:3.5

RUN pip install opencv-python

RUN apt-get update && apt-get install -y libsm6 libxext6 libxrender-dev

RUN pip install skll

RUN pip install keras

RUN pip install imutils

ADD . /model1

WORKDIR /model1

VOLUME ["/model1/data", "/model1/notebooks"]

I have been learning docker for a day so I accept that this probably breaks best practices.

My question is this - once I build this and run the container and then open python and run

 import tensorflow

I get

 ImportError: No module named 'tensorflow'

If I don't include python 3.5, when I open up python its version 2.7 and tensorflow is imported properly. How can I import tensorflow using python 3 and specify this in the dockerfile

1 Answer 1

2

If you wish to use Python 3, you're going to have to use the Python 3 docker image, in your case it would be:

FROM tensorflow/tensorflow:latest-gpu-py3

You can see all the py3 tags here. There's also an issue about this, but the tl;dr is that the image size is too big if it were to support both Python 2 and 3, hence separate py3 tags.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.