본문 바로가기
Python

[Python] Python Portable( 무설치 파이썬 ) 설치 방법

by 윤팍 2025. 1. 14.

1. Python 소스 다운로드

Python 공식 웹사이트에서 원하는 버전의 소스를 다운로드합니다.

wget https://www.python.org/ftp/python/<버전>/Python-<버전>.tgz
# 예: Python 3.9.9
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz

 

압축해제

tar -xvzf Python-3.9.9.tgz
cd Python-3.9.9

 

2. Portable 설치를 위한 빌드

Python을 독립 실행 가능한 형태로 빌드합니다.

./configure --prefix=/path/to/python-portable --enable-shared --with-ensurepip=install LDFLAGS="-Wl,-rpath=\$$ORIGIN/../lib"
  • --prefix=/path/to/python-portable :
    • Python을 특정 디렉토리에 설치합니다.
    • 독립 실행 가능하게 사용하려면 기본적으로 /usr/local 같은 시스템 경로가 아닌, 독립된 디렉토리(/opt/python3.9 또는 프로젝트 전용 경로)를 지정합니다.
  • --enable-shared :
    • Python이 실행 파일 외에도 공유 라이브러리(libpython3.9.so)를 사용할 수 있도록 설정합니다.
    • 다른 프로그램과 Python의 통합 및 독립적 사용에 필수적입니다.
  • --with-ensurepip=install :
    • Python 설치 시 pip와 setuptools를 자동으로 설치합니다. pip가 포함되므로 추가적인 의존성 설치가 가능합니다.
  • LDFLAGS="-Wl,-rpath=\$$ORIGIN/../lib" :
    • Python 실행 파일이 항상 특정 경로에서 필요한 공유 라이브러리를 찾도록 설정합니다.
    • 이 옵션이 있으면 LD_LIBRARY_PATH를 설정하지 않아도 됩니다.
    • $ORIGIN은 실행 파일의 위치를 기준으로 동적 라이브러리 경로를 설정합니다.

빌드실행

make -j$(nproc)
make altinstall
  • make altinstall: 기본 Python 버전을 덮어쓰지 않고 새로 설치된 버전을 추가합니다.

3. 다른 서버로 이동

Python 디렉토리 복사

tar -czvf python-portable.tar.gz /path/to/python-portable
scp python-portable.tar.gz user@remote:/path/to/

 

압축 해제 및 사용

원격 서버에서 압축을 해제하고 사용합니다.

tar -xzvf python-portable.tar.gz
/path/to/python-portable/bin/python3.9 --version

 

 

마치며

리눅스에서 무설치 파이썬을 설치하는 방법에 알아봤는데요.

가장 큰 단점이 OS가 다르다거나 OS버전 하고 Python 버전의 차이가 심하면 라이브러리 호환이 안되어서 만들기 쉽지 않다는겁니다.

docker 를 쓸 수 있는 환경이면은 docker 를 쓰는걸 강력 추천드립니다.

 

저는 docker 설치를 할 수 없는 환경이라 어쩔수 없이 시도해보네요..