인프런 커뮤니티 질문&답변

bluebamus님의 프로필 이미지
bluebamus

작성한 질문수

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

black djlint 유틸리티를 File Watchers에 등록

pip 설치시 에러가 발생합니다.

작성

·

107

·

수정됨

0

Cannot install -r requirements.txt (line 5) and requests==2.28.2 because these package versions have conflicting dependencies.

에러가 발생합니다. github 저장소의 requirements.txt를 확인해 주시면 감사드리겠습니다.

 

  • 2.26.0 버전 설치도 문제가 되네요. poetry로 변경하는데도 의존성 문제는 해결이 안되고 에러가 여전히 발생합니다. 파이썬 버전이 3.12인데 혹시 파이썬 버전이 문제가 될까요?
    파이썬 버전이 현재 3.13이 나왔는데.. 아임포트의 해당 패키지는 2021이 마지막 업데이트였고 이후 업데이트가 없는데... 계속 업데이트되는 django와 python 버전이 문제가 될 수 있는건지도 걱정이 되네요..

  • 개별로 하나씩 패키지를 설치하면 requests가 설치되는것 같네요.. 그런데 requirements.txt를 pip으로 설치하면 호환성 에러가 그대로 발생합니다. 물론 poetry로는 개별 설치가 안됩니다. 정말 이상하네요. 혹시 문제가 무엇인지 확인을 하시게 되면 말씀 남겨 주시면 감사드리겠습니다.

답변 2

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

강의에서는 라이브러리를 하나씩 설치하면서 requirements.txt 파일에 설치한 라이브러리 버전을 명시했는 데요.

한 번에 설치할 경우, iamport-rest-client-python 라이브러리에서 requests 버전을 2.26.0 으로 제한되어 있어서, 라이브러리 버전이 맞지 않아 발생한 이슈로 보여집니다. requests 버전 지정을 2.26.0 으로 변경해보시겠어요? 혹은 requirements.txt 파일에서는 버전 지정을 빼시거나, pyprojectd.toml 에서는 버전에 "*"를 지정하시면, 가용한 범위에서 최신 버전으로 설치됩니다.

각 라이브러리 간의 의존강의의 코드나 iamport python 라이브러리 최신 버전의 라이브러리에서도 모두 동작하는 코드이니 걱정하지 않으셔도 됩니다. iamport-rest-client-python 라이브러리도 requests 라이브러리를 통해 단순히 http 호출만 할 뿐입니다.

iamport-rest-client-python 에 특정 requests 버전 지정으로 인한 설치 이슈에 대해서, 이슈를 제기해봐야겠습니다.

확인해보시고 댓글 부탁드립니다. :-)

bluebamus님의 프로필 이미지
bluebamus
질문자

iamport-rest-client는 버전 명시를 해도 문제가 발생합니다. 때문에 이해가 안가는 문제라 생각을 했었네요. 어떤 연유로 개별 설치를 하면 넘어가는데, requirements.txt나 poetry로 설치하면 호환성에서 계속 문제가 발생합니다.

github에 들어가니 2021년 이후 업데이트가 전혀 없던데.. 이슈 제기를 해도 검토가 될까 걱정되기도 합니다.

이진석님의 프로필 이미지
이진석
지식공유자

이미 설치된 라이브러리 때문에 버전이 맞지 않아서이지 않을까요? 빈 가상환경으로 설치를 해보시겠어요?

빈 가상환경에서 아래 requirements.txt 기반으로 설치해보니 오류없이 잘 설치가 되었습니다.
https://github.com/pyhub-kr/course-django-payment-basic/blob/main/requirements.txt

그리고, pyproject.toml 을 아래와 같이 생성해서
pip install poetry 명령으로 poetry 설치 후에
poetry install 명령으로 한 번에 설치를 해봤습니다.

image.png

아래와 같이 설치를 완료했습니다.

image.png

 

이진석님의 프로필 이미지
이진석
지식공유자

이슈를 제기해보고, 포트원 측 github 저장소에 기여를 해볼 수도 있을 것이구요.

혹은 대응이 없다면 저장소를 Fork하는 것도 한 방법이 되겠네요.

bluebamus님의 프로필 이미지
bluebamus
질문자

감사합니다. 말씀 주신대로 패키시 설치를 다시 실행했습니다.

3.12 버전의 파이썬을 사용하는데, pip으로 설치하면, pillow와 regex 등의 설치에 호환 문제가 발생하였습니다. pip으로 개별 설치를 하면 pillow는 해결되느 regex는 해결이 안되더군요. requests는 확인을 못했습니다.

poetry로 아래와 같이 설정하고 실행했을 때, 전부 설치 되는것을 확이하였습니다.

혹시 모르니, toml도 같이 저장소에 올려 주시고, 설치 방법도 알려주시는게 저와 같은 문제를 가지게 될 학습자들에게 좋지 않을까 생각 됩니다.

[tool.poetry]
name = "course-django-payment-basic"
version = "0.1.0"
description = ""
authors = ["bluebamus <bluebamus@naver.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
django = "^5.1.2"
django-bootstrap5 = "^24.3"
django-environ = "^0.11.2"
django-widget-tweaks = "^1.5.0"
iamport-rest-client = "^0.9.0"
pillow = "^11.0.0"
sorl-thumbnail = "^12.11.0"
django-debug-toolbar = "^4.4.6"
black = "^24.10.0"
djlint = "^1.35.2"
requests = "2.26.0"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

 

이진석님의 프로필 이미지
이진석
지식공유자

상세한 댓글 감사드립니다. :-)

윈도우에서 설치를 해보니 pillow 라이브러리 9.x 버전이 파이썬 3.12 를 제공하지 않는다고 하네요. 강의에서 다루는 코드들은 각 라이브러리 최신 버전에서도 동일하게 동작을 하니, django를 제외한 다른 라이브러리들은 버전 지정을 제거하고, 서로 호환되는 범위에서 최신버전이 설치되도록 지정하는 것이 나을 듯 합니다. 아래 저장소에도 반영을 했습니다.

https://github.com/pyhub-kr/course-django-payment-basic/blob/main/requirements.txt

poetry는 다양한 파이썬 팩키지 매니저 중에 하나이구요. 요즘 uv가 많이 뜨고 있긴 하더라구요. 여러 팩키지 매니저가 있으니, 강의에서는 혼란을 줄이기 위해 requiremets.txt 를 활용한 기본 방법만 알려드리고 있음에 양해 바랍니다.

강의에서 팩키지 버전 지정에 대해서는, 영상에 보충 설명을 남길 수 있도록 하겠습니다. 의견 감사드립니다. 👍

0

안녕하세요, 인프런 AI 인턴입니다. bluebamus님.

pip 설치 시 발생하는 오류는 패키지 간의 버전 충돌 문제로 보입니다. 일반적으로 이런 오류는 requirements.txt 파일에 명시된 패키지의 특정 버전 사이에 충돌이 있을 때 발생할 수 있습니다. 문제가 되는 부분은 line 5의 패키지 버전과 requests==2.28.2의 의존성 간에 충돌이 있는 경우입니다.

  1. 먼저, requirements.txt 파일에서 line 5의 패키지와 requests 패키지가 요구하는 의존성 충돌이 있는지 확인해보세요.

  2. 만약 line 5의 패키지를 다른 버전으로 변경할 수 있거나, requests의 버전을 조정할 수 있다면, 해당 부분을 수정하여 다시 설치 시도해보시길 권장합니다.

기타 유사한 문제에 대한 정보는 다음 게시물들을 참고해보시면 도움이 될 것입니다:

이미지 및 원본 URL은 제공되지 않았습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

bluebamus님의 프로필 이미지
bluebamus

작성한 질문수

질문하기