CentOS 7.x의 python 2.7에 requests, pyinstaller, pycrypto 모듈을 설치하는 과정과 함께 pip upgrade 방법을 보여준다.
설치과정에서 발생되는 에러에 대한 대처방법으로 인터넷에서 검색되는 대부분의 사이트에서는 pip를 upgrade 하고 진행하라고 나온다.
하지만 CentOS 7.x의 python-pip 버전이 낮기 때문에 pip 명령을 통해서는 pip upgrade 자체가 되지 않는다.
pip, requests, pyinstaller 설치
# yum install -y epel-release # yum install -y python-pip # pip install requests # pip2 install pyinstaller==3.2.1 # cd /usr/loca/etc//binary_source # pyinstaller --onefile uplogs.py
-> 여기까지는 최신 pip 버전 없이도 설치가 가능하다.
pycrypto 설치
설치 과정에서 'pip install --upgrade pip' 라는 구문이 출력되며 설치가 안된다.
pip를 업그레이드 하라고 설치하라는 얘기인데,
CentOS 7에 기본 설치된 python-pip의 버전이 8.1.x 버전으로 낮기 때문에 해당 명령을 치면 같은 메시지만 출력이 된다. 따라서 수동으로 get-pip.py을다운받아서실행하여 pip 버전을업그레이드 해야한다.
1. pycrypto 설치 시작
# pip install pycrypto .... Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-E_hi7D/pip/ You are using pip version 8.1.2, however version 21.3.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
설치가 되지 않는다.
에러 메시지대로 pip upgrade 시도
# pip install --upgrade pip .... Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-E_hi7D/pip/ You are using pip version 8.1.2, however version 21.3.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
pip upgrade도 안된다.
2. pip 수동 업그레이드
# curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
# python get-pip.py
....
Successfully installed pip-20.3.4 wheel-0.37.1
# pip install --upgrade pip
....
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages (20.3.4)
-> 이제 pip upgrade 명령이 동작한다. 그런데 수동으로 업그레이드 했기 때문에 이미 최신버전이 설치되어 있다고 출력됨.
setuptools 업그레이드
# pip install --upgrade setuptools .... Successfully installed setuptools-44.1.1
3. pycrypto 설치
# pip install pycrypto .... #include "Python.h" ^ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for pycrypto
python-devel 패키지가 필요하다. yum으로 설치
# yum install python-devel
이제 pycrypto가 설치된다.
# pip install pycrypto .... Successfully installed pycrypto-2.6.1
- reference:
CentOS 7 python upgrade pip