Python egg 압축풀기 - python egg abchugpulgi

python eggs 가 뭐지? 도대체 어디에 어떻게 사용하는 거지? 혼란스러워 지금부터 정리합니다.

지금부터 코드 파일을 관리하는 파이선의 방법을 이해하고자 합니다.

파이선은 스크립트 언어로서 컨솔에서 바로 실행해서 확인할 수 있습니다.

프로그램 단위를 모듈이라고 부르고 이 모듈을 디렉토리로 묶어서 관리하는 것을 패키지라고 부릅니다.

1. Module

코드 재사용을 위한 기본적인 단위

다른 코드에서 가져와서 사용할 수 있는 코드 블락

hello.py 

def helloworld():

    print 'Hello World'

위의 모듈에서 다른 모듈에서 함수를 가져오는 방법은 아래와 같습니다.

from hello import helloworld

2. Package

다른 모듈을 포함하고 있는 모듈

_init_.py 파일을 가지고 있기 때문에 다른 디렉토리와 구분이 되고 파일시스템에서 하나의 디렉토리 안에 포함되는 형태

구조는 아래의 형태입니다

hello /

   __init__.py

__init__.py 파일은 파이선 패키지 디렉토리로서 디스크에 표시하기 위해 사용되어 집니다. 기본적으로 안에 내용이 없습니다.

mydir/spam/__init__.py

mydir/spam/module.py

위의 소스에서 하위 모듈 spam 을 패키지로 분리해서 아래와 같이 접근할 수 가 있습니다.

import spam.module

from spam import module

from hello import helloworld

or

import hello.helloworld

3. distutils

모듈 및 패키지를 모아서 배포해야 될 필요가 있을 것입니다. 그럴때 사용하면 됩니다.

구조는 이렇게 됩니다.

somedir /

setup.py

hello /

__init__.py

hello.py

setup.py 의 스크립트는 압축정보가 들어가도록 되어 있습니다.

from distutils.core import setup

setup( name='hello', version='1.0', package=['hello'],)

배포용 압축파일을 만드는 실행 명령문입니다.

python setup.py sdist

압축및 설치를 하는 명령문입니다.

python setup.py install

4. egg

setuptools 을 사용해서 배포할때 사용하는 배포용 압축파일 입니다.

from setuptools import setup

setup( name='hello', version='1.0', package=['hello'],)

배포용 압축파일을 만드는 실행명령문입니다.

python setup.py bdist_egg

설치하는 명령문입니다.

easy_install hello

인터넷에서 파일을 다운받았을 때, EGG 확장자를 가진 파일을 한번 쯤 보셨을 텐데요. 이는 알집(ALZip)으로 유명한 이스트소프트 사에서 만든 알집 프로그램의 압축파일 입니다. EGG를 해제하는 방법은 가장 간단하게 알집을 다운받아 해제하면 됩니다. 그러나 굳이 알집을 사용하지 않고도 이스트소프트 사에서 배포하는 EGG 해제모듈을 통해 이 파일의 압축을 해제할 수도 있습니다. 이번 포스팅에서는 2가지 모두를 알려드리도록 하겠습니다.

1. 알집을 다운받아 해제하기

 (1) 알툴즈 사이트에서 알집 다운로드 링크로 들어갑니다. (https://www.altools.co.kr/Download/ALZip.aspx) 설치하기 버튼을 눌러 알집 최신버전을 설치합니다.

 (2) 압축을 해제할 EGG 파일에 마우스 오른쪽 버튼을 클릭한 후 '여기에 압축풀기'를 클릭합니다. 이렇게 하면 EGG 파일과 동일한 경로에 압축이 해제가 됩니다. 만약 특정 디렉토리에 지정해서 압축을 해제하고 싶다면 '알집으로 압축풀기'를 클릭해서 별도 디렉터리를 지정할 수도 있습니다.

Python egg 압축풀기 - python egg abchugpulgi

2. EGG 해제모듈을 통해 압축해제하기

 (1) 아까와 동일한 경로, 알툴즈 사이트의 알집 다운로드 링크에 가서 (https://www.altools.co.kr/Download/ALZip.aspx) 하단에 'EGG 포맷 및 해제모듈 관련안내' 내용 아래 있는 해제모듈버튼을 클릭합니다. 그리고 UnEGG.zip 파일을 다운받아 압축을 해제합니다. 

 (2) 압축이 해제된 경로 아래 bin 폴더로 가면, 아래 그림과 같은 파일들을 확인할 수가 있을 것입니다. 사용하고 있는 OS의 버전에 따라 32bits 면 UnEGGSample32.exe를, 64bits면 UnEGGSample64.exe를 클릭합니다. 

 (3) 우측에 Open을 클릭하여 압축 해제하려는 EGG 파일을 찾습니다.

 (4) 이 파일에 대한 분석이 끝나면 아래와 같이 표시가 되고, 우측에 Extract 버튼을 클릭한 후 파일을 어느 경로에 압축해제할지 지정합니다. 그러면 또 다시 하단에 게이지가 차면서 해당 경로에 압축파일이 해제된 것을 확인하실 수 있습니다. 

지금까지 EGG 파일을 압축해제하는 방법 2가지를 알아보았습니다. 개인 PC라면 '1'의 방법으로 알집을 설치하여 추후에도 여러 압축파일들을 편하고 쉽게 다루는 것을 추천드리지만, 굳이 알집 설치를 원하지 않거나 프로그램을 다운받을 수 없는 상황이라면 '2'의 방법을 통해 일시적으로나마 EGG 파일을 압축해제하여 일을 볼수 있겠습니다. 유익한 Tech-TIP이었으면 좋겠습니다^^

 egg파일은 alz파일과 같이 이스트소프트에서 개발한 압축 포맷이다.

 주로 알집에서 대용량 파일의 압축을 할 때 선택하는 경우가 많은데 표준 압축 포맷은 아닌지라 자주 사용하는 편도 아니고, 다른 압축 프로그램에서는 해제를 지원하지 않는 경우도 있다.

 때문에 압축을 해제하기 위해서는 알집을 사용하는 것이 간단하지만 문제는 가끔 보이는 egg파일의 압축 해제 때문에 사용하지도 않는 알집을 설치한다는 것은 여간 귀찮은 것이 아닐 것이다.

알집 없이 egg파일 압축 풀기

1. 해제 프로그램 다운로드.

 알집 외에 egg 파일의 압축을 해제할 수 있는 압축 프로그램은 반디집이나 빵집이 있는데 이미 해당 프로그램들을 사용하고 있다면 좋겠지만 그렇지 않다면 설치가 필요 없는 egg 전용 해제 프로그램을 사용하는 것도 좋다.

 우선 아래의 알집 링크에 접속하여 가장 하단에 있는 해제 모듈(32bit / 64bit) 버튼을 클릭하여 프로그램을 다운로드하도록 하자.

 (비상업적 용도라면 기업에서도 무료로 사용이 가능하다고 한다.)

 알집 페이지 링크

2. 해제 모듈 프로그램 실행.

 파일을 다운로드했다면 Unegg의 압축을 풀고 하위의 bin폴더로 이동하여 자신의 컴퓨터 비트에 맞는 프로그램 파일을 찾아 실행하도록 하자.

 (32비트는 UnEGGSample32, 64비트는 UnEGGSample32를 실행)

3. egg파일 압축 해제.

 프로그램을 실행하면 간단한 인터페이스의 창이 나타날 것이다.

 왼쪽의 open버튼을 클릭하여 압축을 해제할 egg파일을 선택하면 해당 파일의 내용이 오른쪽 화면에 나타나는데 그다음 Extract버튼을 클릭하여 압축을 해제할 위치를 지정해주면 egg파일의 압축을 해제할 수 있다.

Python egg 압축풀기 - python egg abchugpulgi

그 외.

 egg파일의 특성상 다른 압축 포맷에 비해 알려진 정보가 적어 백신 탐지를 우회하기 쉽다고 한다.

 때문에 우리나라에서는 egg파일의 형태로 유포되는 랜섬웨어가 많다고 하니 출처가 불분명한 egg 파일이라면 압축을 해제하기 전에 안전한 파일인지 다시 한번 확인해보고 주의하는 것이 좋지 않을까 한다.