I have a dockerfile as below:
FROM python:3.7.5-alpine3.10
RUN apk update
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN apk add --no-cache cython3
CMD [ "sh", "ls"]
When I got into the container with docker run -it --rm mycontainer /bin/sh
cython appears not to be installed. What am I missing?
/usr/src/app # which python
/usr/local/bin/python
/usr/src/app # python
Python 3.7.5 (default, Oct 21 2019, 20:13:45)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cython'
Alpine installed python pacakges using this path
/usr/lib/python3.7/site-packages
, just run the command inside the container and you will see the package is installed. All you need to add this path to the python search path.PYTHONPATH
python envvar PYTHONPATH
update:
To work with pip installation you need to use
-m
.python3-cmdline
you can test