'Technique/Python'에 해당되는 글 2건

  1. 2011/12/23 [파이썬(Python)] 장고(Django) 설치 및 이클립스(eclipse) 세팅
  2. 2011/12/20 [파이썬(Python)] 파일내용 찾기

[파이썬(Python)] 장고(Django) 설치 및 이클립스(eclipse) 세팅

일단 장고(Django) 의 개념이나 필요성에 대해서는 필자도 아직 초급자이므로 애기하지 않고 차후에 본 블로그를 통해서 해당 부분에 대해서 자세히 소개 하도록 하겠습니다. 그래두 일단 장고(Django) 를 설치해 보고, 유난히 파이썬(python) 관련된 쪽이 개발환경(IDE)가 잘 마련되어 있지 않은데, 장고(Django) 설치와 함께 이클립스에서 관련 프로젝트 세팅하는 법까지 설명드리겠습니다. 그리고 윈도우 개발 환경 위주로 설명하도록 하겠습니다. 


1. 일단 파이썬 설치 

- 파이썬은 유난히 여러가지 버전이 있지만, 필자의 생각으로는  2.6 혹은 2.7을 쓰는게 좋습니다. 3.2 까지 나온것으로 알고 있지만, 사실 파이루씬(pylucene)이나 그런 것들은 주로 3.x 버전을 아직은 지원하지 않는 부분이 있어서 너무 최상위 버전을 쓰지 않는것이 좋습니다. 

 

http://python.org

 

윈도우 버전은 기본적으로 .msi 바이너리 형태로 제공하기 때문에 쉽게 받아서 설치하면 됩니다.  그리고 파이썬(Python)의 경로(Path)를 잡습니다. 그리고 커맨드(cmd) 창에서 파이썬(python) 이라고 쳐 보면 이런 문구가 나와야 제대로 설치가 된것이구요.

파이썬 실행화면


 
2. 이클립스 환경 구성

QT 는 UI를 이용할때 쓰자.



- 장고(Django) 보다 먼저 설치해야 할 것이 이클립스 설치이며 환경을 구성하는 것 입니다. 이클립스 설치는 기본적으로 되어 있다는 가정하에. 파이데브(Pydev)를 설치합니다. 파이데브(Pydev)의 설치는 아래의 링크를 참조하시면 간단하게 하실수 있습니다.

3. 장고(Django) 설치

- 드디어 장고(Django)를 설치할때다.  이곳 에 들어가면 [다운로드]탭에서 Django-1.3.1.tar.gz를 다운받는다. 일단 C 드라이브에, 다운을 받고 압축을 풀자. 압출을 풀고 나면,  Django-1.3.1폴더가 생긴다. 일단 파이썬이 설치되어 있다는 전제하에 진행하겠다. 장고(Django)는 파이썬 기반의 웹 개발 프레임워크이기 때문에 파이썬으로 설치한다고 보면 된다. 
 

커맨드(cmd) 창을 열어서 해당 폴더로 이동하자. (cd Django-1.3.1)

 

python setup.py install


이동하고 나면, python setup.py install 이라고 입력하자. 조금 지나면 자연스럽게  설치가 된다. 설치된 것을 확인하려면 현재 있는  Django-1.3.1 하위 폴더에 django\bin에 가시면, django-admin.py 라는 것을 보실수가 있다. 이 파일을 복사해서 바로 상위의 디렉토리(django) 에 복사하자. 

설치 완료 화면

 

설치후 확인 화면



그리고 나서 django 폴더를 잘라내기를 해서 c:\에 붙여넣자. 그리고 이제 장고(Django)를 실제 프로젝트를 생성해 보자. 기본 프로젝트를 생성하면 일단 커맨드(cmd) 창에서 

sample1 프로젝트 생성



python django-admin.py startproject sample1 라고 입력하면 django 폴더 안에 sample1 이라는 폴더가 생긴것을 볼수가 있다. sample1 폴더 안으로 들어가서,



python manage.py runserver 라고 입력하자. 그러면 장고 내장 서버가 실행된다. 그리고 나서 웹 브라우저를 열어서 127.0.0.1:8000을 치면 It's Work 라는 화면이 나오는 것을 볼수가 있다. 

와우!!



4. 이제 이클립스와 연동하자. 

사실 앞에서 이클립스에서 설치한 파이데브(pydev)에서 이미 장고(Django) 프로젝트가 포함되어 있다. 때문에 프로젝트 생성시 바로 pydev project를 생성하는 것이 아니라, 일반 프로젝트를 생성을 눌러서 pydev 밑에 pydev django 프로젝트가 있다. 해당 프로젝트를 누르고 생성하면 된다. 중간에 참조 프로젝트를 이전에 이클립스에 있는 것중에 지정할 수 있는 단계가 나오는데, 지금은 일단 생략(Skip) 하자. 

프로젝트 선택

 


  

장고 세팅.





그리고 나서 바로 그냥 이전의 다른 파이썬 프로젝트 처럼 파이썬(python)으로 구동 시키는 것이 아니라, 프로젝트 부분에서 오른쪽 마우스를 누르면 Run AS 에서 Pydev : Django 를 누르면 아래와 같은 메시지가 뜨면서 앞에서와 같은 페이지를 볼수가 있다. 


와우!!



다른 점이라하면, 3번에서 Django 프로젝트를 만들었을때에는 해당 django 가 설치된 경로(C:\django)의 하위 디렉토리에 설정이 되지만, 이클립스를 통해서 만들었을때에는 당연히 이클립스에서 지정한 곳에 생긴다. 

쉽게 설치 한다고 했지만, 여전히 통합개발환경(IDE)적인 환경이 한번의 클릭으로 설치되지 않는것이 아쉬움이지마, 그렇기 때문에 더 가벼운 것이 아닌가 하는 생각이 들었다. 이제 파이썬을 이용한 웹 개발을 시작해보자. 






 
저작자 표시 비영리 변경 금지
Technique/Python 2011/12/23 14:25
Trackback 0 : 댓글을 오로지 페이스북으로만.

[파이썬(Python)] 파일내용 찾기

매일매일 개발하는 소스코드를 올리고 있습니다. 원래는 프로젝트가 끝나고 올리려고 했으나, 그러다 보니 까먹는 경우가 있어서 이렇게 매일매일 올리는 소스코드 입니다. 제가 쓴 소스코드의 문제 혹은 개선점이 있으면 언제든지 댓글 달아 주세요 

특정 폴더 안에 있는 텍스트 파일을 읽어서 해당 내용을 검색하면 보여주는 파이썬 소스입니다. 기본적으로 스크립트처럼 대화형으로 만들었구요. !start 명령을 치시면 지정한 폴더내 파일을 읽어와서 검색을 시작할 수 있습니다. 소스는 간단하니까 보시면 금방 이해될것 같네요.^^ 추가적으로 폴더 지정을 한다던가 하는 부분을 추가하는 등의 확장에 대한 여지는 남아 있으니, 잘 활용하면 좋을것 같습니다.
 

ps) 참고로 한글에 대한 부분은 검색을 지원하지 않습니다. 

# -*- coding:utf-8 -*-
     
import os;
import os.path; 
import sys;

content_list = []
is_start = False

def ReadFile(file_path):
    
    fp = open(file_path, 'r', encoding='utf8')
    read_data = fp.read()
     
 
    return read_data
    
 

def GetFileList(folder_path):
    filelist = os.listdir(folder_path)
    return filelist; 
        
def start():
    print("Searching Service Start..")
    folder_path = "C:\\ContentType_log\\";
    file_list = GetFileList(folder_path)
    
    for file_path in file_list:
        content = ReadFile(folder_path + file_path)
       
        content_dic = dict()
        content_dic["content"] = content
        content_dic["filename"] =file_path 
        
        content_list.append(content_dic)
    
    is_start = True; 
 

def stop():
    print("Searching Service Stop..")
    is_start = False; 
    sys.exit()
    
        
def clear():
    content_list = []
    print(str(len(content_list)))
    
    
def search(search_word):
    result_list = []
    
    index = 0; 
    for content_dic in content_list:
        
        content =content_dic["content"]
        filename =content_dic["content"]
 
        result = content.rfind(search_word)
       
        if(result >0):
            result_list.append(index);
          
        index = index+1
        
    result_len = len(result_list)
    if(result_len==0):
        print("Do no find")
    else:
        print("Find : "+str(result_len))
        for idx in result_list:
            print(content_list[result_list[idx]])
        
        
    
            
        
    

def Conversation(text):
    
    if(text == "!start"):
        start()
    elif(text == "!stop"):
        stop()
     
    elif(text == "!clear"):
        clear()
    else: 
        search(text)
        
    
    
if __name__ == '__main__':
    
    
    while True:
        text = input(">>")
        Conversation(text)
        
 
  
     
저작자 표시 비영리 변경 금지
Technique/Python 2011/12/20 09:18
Trackback 0 : 댓글을 오로지 페이스북으로만.