简体   繁体   中英

Docker: unable to install Python libraries from dockerfile, though they can be installed manually from within the container's shell

I built a Python machine on Docker (FROM continuumio/anaconda3). After the machine is built, if I add a further step in the Dockerfile, to install one more library (notably, tulipy) using the command:

RUN pip install tulipy

, I get an error:

ERROR: Could not build wheels for <dependency> which use PEP 517 and cannot be installed directly

Without the "RUN pip install tulipy" line, the docker machine starts and I can manually install the library, running the following command at the shell prompt:

pip install tulipy

I cannot understand this difference in the behaviors of Docker. Can somebody explain?

Notes (added after some initial feed-backs):

  • in both cases (running 'whoami' from within /bash/sh and issuing Docker's RUN whoami), the user appears to be the same (root)

  • in both cases (running 'which pip' from within /bash/sh and issuing Docker's RUN which pip), the pip executable appears to be the same (/opt/conda/bin/pip)

  • Adding the "--no-use-pep517" switch in the dockerfile (RUN pip install --no-use-pep517 tulipy) didn't help

Try installing with below command in your Dockerfile

RUN pip install --no-use-pep517 tulipy

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM