Python 3.x 如何在Django Azure webapp上安装Cmake?

Python 3.x 如何在Django Azure webapp上安装Cmake?,python-3.x,django,azure,azure-web-app-service,Python 3.x,Django,Azure,Azure Web App Service,我正在尝试在Azure上部署Django Web应用程序。 我需要的一个库取决于Cmake,因此我得到了错误: CMake must be installed to build the following extensions: _dlib_pybind11 现在,为了在服务上安装Cmake,我需要制作一些SH文件,或者手动插入一些“启动”命令,在安装requirements.txt之前有没有办法“预安装”Cmake 更新(此版本可在azure上运行并部署以供确认): 我们需要运行cmdpip

我正在尝试在Azure上部署Django Web应用程序。 我需要的一个库取决于Cmake,因此我得到了错误:

CMake must be installed to build the following extensions: _dlib_pybind11
现在,为了在服务上安装Cmake,我需要制作一些SH文件,或者手动插入一些“启动”命令,在安装requirements.txt之前有没有办法“预安装”Cmake

更新(此版本可在azure上运行并部署以供确认):


我们需要运行cmd
pip install cmake
,然后运行
pip install dlib
。如果您使用的是conda,请遵循以下命令
sudo apt get install build essential cmake
。必须安装CMake才能生成以下扩展:
\u dlib\u pybind11
,它告诉您CMake未安装,或者,您必须使用Visual Studio在windows上生成python扩展

我们可以参考这一点,了解更多详细信息,这项工作:

FROM tiangolo/uwsgi-nginx:python3.8-alpine-2020-12-19


RUN apk update
RUN apk add lapack-dev

RUN apk add gfortran musl-dev g++ freetype-dev
RUN apk add gcc clang cmake python-dev
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h
RUN apk add make automake g++ subversion python3-dev

LABEL Name=ydemo Version=0.0.1
EXPOSE 8000

ENV LISTEN_PORT=8000

ENV UWSGI_INI uwsgi.ini

WORKDIR /app

ADD . /app

RUN chmod g+w /app
RUN chmod g+w /app/db.sqlite3
COPY ./requirements.txt /app/requirements.txt
RUN python3 -m pip install --upgrade pip
RUN apk add --no-cache jpeg-dev zlib-dev
RUN apk add --no-cache postgresql-dev
RUN apk add --no-cache libmemcached-dev zlib-dev 
RUN apk add --no-cache --virtual .build-deps build-base linux-headers \
    && pip3 install pip --upgrade 
RUN python3 -m pip install Pillow
RUN python3 -m pip install setuptools wheel
RUN pip3 install --upgrade pip setuptools wheel
RUN python3 -m pip install -r requirements.txt
RUN python3 -m pip install cmake
RUN python3 -m pip install dlib
RUN python3 -m pip install numpy

RUN python3 -m pip install opencv-python
COPY . /app

您使用了什么部署方法?我使用了部署标准作为代码,但经过大量的研究,现在我的想法是我应该对其进行dockerize。您好@SlavaBugz,您介意将您的解决方案作为答案共享吗?将在数小时后发布,目前不可能。感谢您的回答,但这不是我要问的。当你在azure上以webapp的形式部署应用程序时,你实际上没有cmd来安装cmake Essentials,因此pip安装将不起作用,因为它首先需要安装sudo,所以现在im。事实上,我们正在尝试将其dockerize以解决此问题。嗨@SlavaBugz,我们可以在Azure DevOps管道中运行pip install cmake,如果有任何误解,您可以重新描述场景的更多细节吗?当然!当在Azure上以代码形式部署Django应用程序时(另一个选项是通过docker),Azure将为您处理一切,问题是,它将从安装requirements.txt开始,但要安装cmake library和dlib library,您首先需要运行您在答案中编写的命令,这样您的答案才是正确的,但是在Azure开始安装requirements.txt之前,我没有找到实际运行该命令的方法。您可以尝试运行pip install cmake并重新运行pip install-r requirements.txt来安装requirements.txt吗
FROM tiangolo/uwsgi-nginx:python3.8-alpine-2020-12-19


RUN apk update
RUN apk add lapack-dev

RUN apk add gfortran musl-dev g++ freetype-dev
RUN apk add gcc clang cmake python-dev
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h
RUN apk add make automake g++ subversion python3-dev

LABEL Name=ydemo Version=0.0.1
EXPOSE 8000

ENV LISTEN_PORT=8000

ENV UWSGI_INI uwsgi.ini

WORKDIR /app

ADD . /app

RUN chmod g+w /app
RUN chmod g+w /app/db.sqlite3
COPY ./requirements.txt /app/requirements.txt
RUN python3 -m pip install --upgrade pip
RUN apk add --no-cache jpeg-dev zlib-dev
RUN apk add --no-cache postgresql-dev
RUN apk add --no-cache libmemcached-dev zlib-dev 
RUN apk add --no-cache --virtual .build-deps build-base linux-headers \
    && pip3 install pip --upgrade 
RUN python3 -m pip install Pillow
RUN python3 -m pip install setuptools wheel
RUN pip3 install --upgrade pip setuptools wheel
RUN python3 -m pip install -r requirements.txt
RUN python3 -m pip install cmake
RUN python3 -m pip install dlib
RUN python3 -m pip install numpy

RUN python3 -m pip install opencv-python
COPY . /app