CentOS 6의 기본 python은 2.6 버전이다.
버전이 낮아서 여러가지 제약 사항이 있어 python 2.7 소스를 컴파일해서 설치하는 방법을 알아본다.
추가로 pip install 및 pip 를 통해 requests, pyinstaller, pycrupto, pyarmor를 설치 후 파이썬 코드를 난독화 및 바이너리화 하는 것을 진행해 본다.
1. python 2.7 설치
1.1 기반 패키지 설치
yum groupinstall -y development yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel xz-libs yum install -y wget vim-enhanced yum localinstall ca-certificates-2021.2.50-65.1.ex1.el6_10.noarch.rpm
1.2 python 2.7.12 설치
cd /root wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz tar zxvf Python-2.7.12.tgz cd Python-2.7.12 ./configure --prefix=/usr/local/python27 && make && make install && echo $? mv /usr/bin/python /usr/bin/python26 ln -s /usr/local/python27/bin/python /usr/bin/python python -V
또는 아래와 같이 컴파일 및 설정
./configure --prefix=/usr/local/python2.7 --with-threads --enable-shared make make install altinstall ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib ln -s /usr/local/python2.7/bin/python2.7 /usr/local/bin /sbin/ldconfig -v echo "alias python='/usr/local/python2.7/bin/python2.7'" >> ~/.bashrc source ~/.bashrc python -V
2. python 기타 툴 설치
2.1 setuptools 설치
cd /root wget https://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648c281/setuptools-21.0.0.tar.gz#md5=81964fdb89534118707742e6d1a1ddb4 --no-check-certificate tar zxvf setuptools-21.0.0.tar.gz cd setuptools-21.0.0 python setup.py install
2.2 pip 설치
cd /root wget https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7 --no-check-certificate tar zxvf pip-8.1.1.tar.gz cd pip-8.1.1 python setup.py install mv /usr/bin/pip /usr/bin/pip26 ln -s /usr/local/python27/bin/pip /usr/bin/ pip -V ln -s /usr/local/python27/bin/pip /usr/local/bin/ pip -V
3. pip를 이용하여 모듈들 설치
pip install requests pip install pyinstaller==3.2.1 pip install pycrypto pip install pyarmor
4. 파이썬 코드 난독화 및 바이너리화
/usr/local/python27/bin/pyarmor pack --clean -e "--onefile " my-python-code.py
pyarmor 난독화 모듈이 pyinstaller를 함께 돌려 python 코드를 난독화 및 바이너리화 함
"--onefile " 옵션은 pyinstaller에서 사용하는 옵션으로 바이너리에 라이브러리까지 포함하여 패키징하는 옵션이다. -e 옵션과 함께 사용.
python 2.7 and pip install on CentOS 6