[파이썬] subprocess `subprocess.executable`: 실행 파일 지정하기

파이썬의 subprocess 모듈은 외부 프로그램을 실행하고 제어할 수 있는 기능을 제공합니다. 이 모듈을 사용하여 파이썬 프로그램에서 다른 실행 파일을 실행할 때, subprocess.executable을 사용하여 현재 파이썬 인터프리터의 실행 파일을 지정할 수 있습니다.

subprocess.executable이란?

subprocess.executable은 현재 파이썬 인터프리터의 실행 파일 경로를 담고 있는 변수입니다. 이 변수는 파이썬 인터프리터가 실행 중인 환경에 따라 다른 값을 가지게 됩니다. 따라서 subprocess.executable을 사용하면 현재 파이썬 인터프리터의 실행 파일 주소를 동적으로 찾아 사용할 수 있습니다.

subprocess.executable 사용하기

다음은 subprocess.executable을 사용하여 현재 파이썬 인터프리터의 실행 파일 경로를 출력하는 간단한 예제입니다:

import subprocess

executable = subprocess.executable
print(f"현재 파이썬 실행 파일: {executable}")

위 코드를 실행하면 현재 파이썬 인터프리터의 실행 파일 경로가 출력됩니다. 예를 들어, Windows에서 실행하면 다음과 비슷한 결과가 나타날 것입니다:

현재 파이썬 실행 파일: C:\Program Files\Python39\python.exe

subprocess.executable을 사용한 실행 파일 지정하기

subprocess.executable을 사용하면 현재 파이썬 인터프리터의 실행 파일 경로를 동적으로 찾아서 다른 실행 파일을 실행할 때 사용할 수 있습니다. 다음은 subprocess 모듈을 사용하여 현재 파이썬 인터프리터의 실행 파일로 pip 명령어를 실행하는 예제입니다:

import subprocess

pip_cmd = [subprocess.executable, "-m", "pip", "install", "numpy"]
subprocess.run(pip_cmd)

위 예제에서는 subprocess.executable을 첫 번째 요소로 하는 리스트를 만들어 pip 명령어를 실행하고 있습니다. 이렇게 하면 현재 파이썬 인터프리터의 실행 파일이 pip를 실행하는데 사용됩니다.

결론

subprocess.executable은 파이썬 프로그램에서 현재 파이썬 인터프리터의 실행 파일 경로를 동적으로 찾을 수 있게 해주는 유용한 변수입니다. 이를 사용하면 외부 실행 파일을 실행하거나 다른 명령어를 실행할 때 항상 현재 파이썬 인터프리터의 실행 파일을 사용할 수 있습니다.