我已经为Python 3.4创建了一个azure app服务,并使用这个https://bootstrap.pypa.io/get-pip.py脚本在那里安装了pip。一切正常,除非我尝试执行pip install dlib
库时发生异常:
RuntimeError: CMake must be installed to build the following extensions: dlib
有没有办法在运行此应用服务的计算机上安装Cmake
?
答案 0 :(得分:1)
以下是适合我的解决方案:
步骤0.在app.py文件中创建Flask应用程序,例如:
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')
步骤1.使用Python,cmake和dlib在同一文件夹中构建Docker文件(我选择了Python 3)。这是Dockerfile:
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"]
以下是Docker Hub https://hub.docker.com/r/garinthengineer/dlib-test-2/
中的现成文件步骤2.在Azure上用Linux创建Web应用程序,确保将WEBSITES_PORT变量设置为Flask服务器正在侦听的端口号(默认为5000)并将docker文件连接到该端口号。您可以使用上一点的Docker Hub链接。以下是该步骤https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image#change-web-app-and-redeploy
的教程利润。