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
태그:             

답글 남기기

이메일 주소는 공개되지 않습니다.