본문 바로가기
컴퓨터/Python

[Python] ImportError: No module named req 원인, 해결 방법

by HanJoohyun 2023. 8. 13.
반응형

 

안녕하세요 한주현입니다.

 

오늘은 ImportError: No module named req 가 발생하는 원인, 그리고 그 해결 방법에 대해 알아보겠습니다.

 

문제 상황

Python을 작업하는 개발자 대부분은 99.999% (100% 는 아니겠지만..) 아주 높은 확률로 python3로 작업을 하시겠지만,

 

옛날에 진행된 프로젝트의 github repository를 다운받아서 툴을 설치하게 되면 python2로 만들어진 뒤 repo가 관리가 안되어서 어쩔 수 없이 python2로 수행해야 하는 경우가 있습니다.

 

python2를 통해 다운받은 github repository의 setup.py를 아래와 같이 수행하여 설치할 수 있는데,

 

ㅤ
$ python2 setup.py install
ㅤ

 

ImportError: No module named req

 

반응형

로 나오는 경우가 종종있습니다.

 

아래 코드에서 해당 문제가 발생을 하게 되는데,

ㅤ
from pip.req import parse_requirements
ㅤ

이는 pip 버전 10 부터 pip.req 가 없기 때문입니다

하위 호환성을 염두하지 않고 바꾸는 것이 쓰는 사람 입장에서 상당히 곤란합니다만... 흠냐뤼.. 어쩔 수 없죠 -_-..

 

그래도 이를 우회해서 할 수 있는 방법이 있어서 소개해 드립니다.

 

해결 방법

ㅤ
from pip._internal.req import parse_requirements
ㅤ

pip.req 를 pip._internal.req 로 바꾸면 이전 pip 버전에서의 pip.req 를 사용하실 수 있습니다.

 

또한 pip 버전이 몇 버전을 사용하는지 알지 못하는 상황에서 모든 버전의 호환성을 고려하여 코딩을 하신다면,

pip10 이상의 버전에서 Import 오류가 발생하는 경우만 pip._internal.req 를 사용하도록 아래와 같이 코딩해 볼 수도 있겠습니다!

 

ㅤ
try: # for pip >= 10
    from pip._internal.req import parse_requirements
except ImportError: # for pip <= 9.0.3
    from pip.req import parse_requirements
    ㅤ

 

마치며

오늘은 ImportError: No module named req 가 발생하는 원인과 그 해결 방법에 대해서 알아보았습니다.

 

여러분들께 도움되셨음 좋겠네요! 그럼 다음에 만나요!

 

참고 링크

본 포스팅 내용은 아래 링크를 참고하여 작성하였습니다.

 

https://stackoverflow.com/questions/25192794/no-module-named-pip-req

 

No module named pip.req

I am installing tweepy, but I am running into an error about pip.req. I have pip installed, but for some reason pip.req still can't be found. I did a bunch of research online and the most I could ...

stackoverflow.com

 

반응형

댓글