问题
I'm trying to use Docker to create a dependency package for AWS Lambda using this repository, but whenever I try to run the build.sh file, I end up with the message:
no such option: --use-wheel
Then when I try to use pip install wheel
(outside of Docker), I'm told that it's already on my local machine, which it is. How do I install Wheel in the Docker container?
If it's helpful, this appears to be the line of code in build.sh that is giving the issue:
test -f /outputs/requirements.txt && pip install --use-wheel -r /outputs/requirements.txt
Any help is much appreciated!
回答1:
Your issue isn't due to missing dependencies ( wheel
is installed in the build.sh
script you referenced: https://github.com/ryansb/sklearn-build-lambda/blob/master/build.sh#L18 )
use-wheel
was deprecated and no longer exists for pip
.
You can achieve the same by omitting the --use-wheel
entries from the script. Take a look at the Python 3.6 PR on the linked repository: https://github.com/ryansb/sklearn-build-lambda/pull/16/files#diff-0b83f9dedf40d7356e5ca147a077acb4
回答2:
--use-wheel
is deprecated since pip 7 (in favor of --only-binary
) and removed since pip 10 beta 1.
To fix all scripts in a git repo:
git grep -l -- --use-wheel | while read f; do sed -i -e 's|use-wheel|only-binary=:all:|g' ${f}; done
来源:https://stackoverflow.com/questions/49835842/docker-no-such-option-use-wheel