在 azure app 服务上运行 python dlib 库
问题描述
我已经为 Python 3.4 创建了一个 azure 应用服务,并使用此
I have created an azure app service for Python 3.4 and installed pip there using this https://bootstrap.pypa.io/get-pip.py script. Everything works fine except when I try to execute pip install dlib
library the exception occurs:
RuntimeError: CMake must be installed to build the following extensions: dlib
Is there a way to install Cmake
at the machine running this app service?
Here is the solution that worked for me:
Step 0. Create the Flask application in the app.py file for example like this:
from flask import Flask
import dlib
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'This server is running dlib version: {}'.format(dlib.__version__)
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0')
Step 1. Build a Docker file in the same folder with Python, cmake and dlib (I opted for Python 3). Here is the Dockerfile for this:
FROM ubuntu:latest
MAINTAINER Ilya Pukhov "ilya.pukhov@gmail.com"
RUN apt-get update -y
RUN apt-get install -y python3-pip
python3-dev
build-essential
cmake
COPY . /app
WORKDIR /app
RUN pip3 install flask
RUN pip3 install dlib
ENTRYPOINT ["python3"]
CMD ["app.py"]
Here is the readymade file at the Docker Hub https://hub.docker.com/r/garinthengineer/dlib-test-2/
Step 2. Create the Web app on Linux in azure, ensure that the WEBSITES_PORT variable is set to the port number on which your Flask server is listening (by default is 5000) and connect the docker file to it. You may use the Docker Hub link from the previous point. Here is a tutorial for that step https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image#change-web-app-and-redeploy
Profit.
相关文章