在 azure app 服务上运行 python dlib 库

2022-01-23 00:00:00 python azure azure-web-app-service

问题描述

我已经为 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.

相关文章