Instale o Cython com python3 no Docker

2

Estou usando uma imagem do Docker de tensorflow com python3 :

FROM tensorflow/tensorflow:latest-gpu-py3

Eu preciso de Cython para uma biblioteca de terceiros estar lá, então eu faço

RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
    python get-pip.py && \
    rm get-pip.py

RUN \ 
    pip install --no-cache-dir Cython

O problema é que depois disso eu posso ver Cython de python , mas não de python3 :

root@fdb5bb783cf9:/darkflow# python3 -c "import Cython; print(Cython.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'Cython'
root@fdb5bb783cf9:/darkflow# python -c "import Cython; print(Cython.__version__)"
0.25.2
    
por loretoparisi 28.04.2017 / 10:32

1 resposta

0

Descobri que a solução era usar pip3 para executar Cython install, bem como python3 para executar setup.py da biblioteca, portanto:

RUN apt-get update && apt-get install -y \
    python3-pip

e

RUN \ 
    pip3 install --no-cache-dir Cython

e a camada da biblioteca

RUN \
    cd lib && \
    python3 setup.py

O último pode ter sido pip3 install . para instalar globalmente usando pip3 .

Desta vez fazendo

RUN python3 -c "import Cython; print(Cython.__version__)"

Eu tinha Cython lá: 0.25.2

    
por 03.05.2017 / 00:59