
Я использую образ Docker tensorflow
отсюда python3
:
FROM tensorflow/tensorflow:latest-gpu-py3
Мне нужно Cython
, чтобы там была сторонняя библиотека, поэтому я делаю
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
Проблема в том, что после этого я могу видеть Cython
из python
, но не из 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
решение1
Я обнаружил, что решением было использовать pip3
для запуска Cython
установки, а также python3
для запуска setup.py
библиотеки, поэтому:
RUN apt-get update && apt-get install -y \
python3-pip
и
RUN \
pip3 install --no-cache-dir Cython
и библиотечный слой
RUN \
cd lib && \
python3 setup.py
Последний вариант мог бы заключаться pip3 install .
в глобальной установке с использованием pip3
.
На этот раз делаем
RUN python3 -c "import Cython; print(Cython.__version__)"
У меня Cython
там было:0.25.2