Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

안녕하세요 질문이 하나더 있습니다.ㅠㅠ

3 years, 9 months ago

wan_l_i_n wan_l_i_n

InstallationError: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

마지막에 aws lightsail 우분투 터미널에서 sudo docker-compose up -d --build를 하니까 cryptography 부분에서 계속 위와같은 오류가 나네요... wheels를 build할 수 없다고 계속 떠요..  cmder로 했을때는 괜찮았는데 이상하네요..

그전에도 cryptography부분에서 오류가 나서 구글링을해서 코드를 추가하니까 cmder에서는 잘돌아갔는데 lightsail의 ubuntu에서는 돌아가지 않네요.. 그냥 pip install cryptography를 하면 되는데 Dockerfile안에서 pip install cryptography를 하면 설치가 안되요. 

그리고 cryptography 라는거는 django-allauth를 할때 같이 설치된거예요.

#set work directory 프로젝트 작업폴더를 /usr/src/app으로 지정한다.
WORKDIR /usr/src/app

#set environment variable 
ENV PYTHONDONTWRITEBYTECODE 1
#파이썬은 종종 소스 코드를 컴파일해서 확장자가 .pyc인 파일을 생성한다. 도커를 이용할때는 pyc가 필요하지 않아 .pyc를 생성하지 않게 한다.
ENV PYTHONUNBUFFERED 1
#파이썬 로그가 버퍼링없이 즉각적으로 출력하게 한다.

RUN apk update
RUN apk add postgresql-dev gcc python3-dev musl-dev zlib-dev jpeg-dev 

RUN apk add --no-cache \
        libressl-dev \
        musl-dev \
        libffi-dev && \
    pip install --upgrade pip --no-cache-dir cryptography==3.3.1 && \
    apk del \
        libressl-dev \
        musl-dev \
        libffi-dev
#requirements.txt에서 살펴본 라이브러리를 설치하기 위해 필요한 gcc, musl-dev등을 미리 설치한다. 
#오류가 나서 2시간동안 미칠뻔햇다.  찾아보고 위에거를 더 추가하니 해결됐다.

COPY . /usr/src/app/
#로컬 컴퓨터의 현재위치에 있는 모든 파일을 작업폴더로 복사한다.(/usr/src/app/으로)
#install dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
#requiredments.txt에 나열된 라이브러리를 설치한다.



wan_l_i_n
wan_l_i_n   3 years, 9 months ago

저자님과 똑같은 requirements.txt 라이브러리로 하니까 되었습니다. cryptography가 왜 설치 됐는지 모르겠네요..

Updated: Feb. 5, 2021, 8:48 p.m.

sungyong
sungyong   3 years, 9 months ago

다행입니다. 

만약 책에서는 다루지 않는 django-summernote를 설치하려고 시도하셨다면, cryptography가 같이 설치됩니다. 

불행히도 lightsail이 제공하는 ubuntu는 cryptography와 궁합이 잘 맞지 않는 것 같더라고요. 


그래서 저는 Amazon Linux 2로 인스턴스를 만들어서 시도했더니 문제없이 설치되었습니다. 

Updated: Feb. 6, 2021, midnight

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A