파이썬 가상환경에서 실행파일 만들기
가상 환경 (Virtual Environment)은 Python 프로젝트를 격리된 환경에서 관리하고 필요한 패키지를 프로젝트별로 설치할 수 있게 해주는 유용한 도구입니다. 이를 통해 프로젝트 간의 종속성 충돌을 방지하고 특정 프로젝트에 필요한 패키지 버전을 독립적으로 관리할 수 있습니다. 아래는 가상 환경을 만들고 활성화하는 방법을 자세히 설명합니다.
** 일반환경에서 실행파일 만들기는 아래 이전 포스팅 참고해주세요!
PyInstaller를 이용한 실행 파일(exe) 만들기
PyInstaller는 파이썬 모듈로 Windows, MacOS X 및 Linux에서 사용 가능하며, 코드를 실행파일로 변경해주는 역할을 합니다. 파이인스톨러 공식 홈페이지 이동 설치 방법 pip install -U pyinstaller 사용 방법 pyi
jofresh.tistory.com
가상 환경 생성:
가상 환경을 만들려면 먼저 프로젝트 디렉토리로 이동한 다음 다음 명령을 실행합니다. 이때, venv는 가상 환경의 이름이며, 원하는 이름을 사용할 수 있습니다.
python3 -m venv venv
이 명령은 현재 디렉토리에 venv라는 이름의 가상 환경을 생성합니다.
가상 환경 활성화:
가상 환경을 활성화하려면 다음 명령을 실행합니다. 가상 환경이 활성화되면 현재 사용 중인 Python 인터프리터가 가상 환경에 연결됩니다.
- macOS 및 Linux:
source venv/bin/activate
- Windows (PowerShell):
.\venv\Scripts\Activate.ps1
- Windows (cmd.exe):
.\venv\Scripts\activate
가상 환경이 활성화되면 프롬프트가 (venv)로 변경됩니다.
가상 환경에서 패키지 설치:
이제 가상 환경에서 필요한 패키지를 설치할 수 있습니다. pip을 사용하여 패키지를 설치하면, 해당 패키지는 가상 환경 내에만 설치됩니다. 예를 들어:
pip install package-name
가상 환경 비활성화:
프로젝트 작업을 완료한 후에는 가상 환경을 비활성화할 수 있습니다. 이렇게 하면 현재 가상 환경이 비활성화되고 시스템 Python으로 돌아갑니다.
deactivate
가상 환경을 사용하면 여러 프로젝트 간의 패키지 충돌을 피하고 각 프로젝트가 필요로 하는 환경을 독립적으로 구축할 수 있습니다. 프로젝트 디렉토리마다 가상 환경을 만들고 사용하는 것이 좋습니다.
활성화 시킨 가상환경의 py파일을 실행파일로 만들려면 어떻게 하나요?
가상 환경에서 작업한 Python 스크립트를 실행 파일로 패키지화하려면 PyInstaller와 같은 패키지화 도구를 사용할 수 있습니다. PyInstaller는 Python 스크립트와 관련 종속성을 하나의 실행 파일로 번들링하는 데 사용되며, 가상 환경에서 작업한 스크립트도 포함할 수 있습니다.
다음은 PyInstaller를 사용하여 가상 환경에서 작성한 Python 스크립트를 실행 파일로 패키지화하는 일반적인 단계입니다:
1. PyInstaller 설치: 먼저 PyInstaller를 설치해야 합니다. 터미널에서 다음 명령을 실행하여 설치합니다:
pip install pyinstaller
2. 가상 환경 활성화: 가상 환경을 활성화합니다. 이미 활성화되어 있는 경우 이 단계를 건너뛸 수 있습니다.
3. 실행 파일로 패키지화: PyInstaller를 사용하여 Python 스크립트를 실행 파일로 패키지화합니다. 터미널에서 다음 명령을 실행합니다. 여기서 your_script.py는 패키지화할 Python 스크립트 파일의 이름입니다. --onefile 옵션을 사용하면 하나의 단일 실행 파일을 생성하며, --name 옵션을 사용하여 실행 파일의 이름을 지정할 수 있습니다.
pyinstaller --onefile --name your_executable your_script.py
이 명령을 실행하면 dist 디렉토리에 실행 파일이 생성됩니다. your_executable은 원하는 실행 파일의 이름으로 대체하세요.
4. 실행 파일 사용: dist 디렉토리에 생성된 실행 파일을 사용하여 Python 스크립트를 실행할 수 있습니다. 실행 파일을 더 이상 가상 환경을 활성화하지 않고 실행할 수 있습니다.
./dist/your_executable
이렇게 하면 가상 환경에서 작성한 Python 스크립트를 독립적인 실행 파일로 패키지화하고 실행할 수 있습니다. 실행 파일은 필요한 종속성을 번들링하므로 다른 환경에서도 실행할 수 있습니다.