pypi 올리기 정리

올릴때 마다 고생하는데 간단 정리  pypi.python.org 에 로그인  2. setup.py가 준비된 상태에서   > python setup.py register  3. 올리기   > python setup.py sdist upload  ** * 주의할점 **  – python setup.py sdist upload 이후, .egg-info 폴더내 SOURCE.TXT 파일에 동작할 파이썬 파일이 있어야 함. – 반드시 올리고 나서 pip install 을 통해서 다른 환경에서 설치되는지 python 인터프리터… Read More

(django) inspectdb, 기존 테이블을 models.py 로 가져오기

많은 장고(Django) 예제에서 models.py 를 먼저 만들고 syncdb 를 통해서 실제 데이터베이스에 구조를 잡게 되는데 사실은 실제 데이터베이스에 이미 데이터나 구조가 있는 경우가 더 많은것같다. 그럴경우 일일히 models.py에서 데이터 모델들을 잡아주는것이 번거로운데(테이블이 많으니까) 장고에서는 inspectdb 라는 기능을 통해서 settings.py에 연결되어 있는 데이터베이스에 대한 models.py의 내용을 가져올 수 있도록 해준다.… Read More

python travis-ci 와 github repository 연동하기

별거 없다. 파이썬 기준으로 설명 travis-ci 는 github 와 연결되어서 개발자가 어떤 commit을 할때마다 원하는 테스트 혹은 빌드를 할수 있는 서비스라고 보면 이해가 쉬울것 같다. 여기서는 기본적으로 연동을 하고, python 의 unitttest 를 travis-ci 로 실행시키고 그 결과를 github README.md 에 표시하는 방법에 대해서 설명하겠다. 1. 기본 연동 – 연동하는 방법은 쉬운데 일단 travis-ci 와… Read More

(Django) Aptana Studio3 Django Not found 오류 해결법

Django 프로젝트를 만들려고 하는데 pip install django 로 django를 설치했음에도 불구하고 Django not found 라는 오류창과 함께 프로젝트가 생성되지 않는다. 한창 삽질을 했는데 문제는 path 부분에서 site-packages 를 잡아주지 않아서 생기는 문제이다. APTANA STUDIO3 에서 preference 에 들어가서 pydev=> interpreter-python 에 들어가면 아래의 화면을 볼수 있다. site-packages 는 pip install 을 통해서 받은 라이브러리가 저장되어… Read More

(flask) Pluggable View, Class 에서 요청처리하기

Pluggable View 라고 말이 어려운데, 간단하게 말하자면 flask 는 기본적으로 url 과 함수의 맵핑으로 이루어져있다. 아래의 Quick Start 에서도 보면 알겠지만, url “/ ” 는 helloworld() 라는 함수에 맵핑이 되어 있어서 / 로 들어오게 되면 helloworld() 함수로 들어오게 된다.  사실 flask를 많이 써보신분들은 아시겠지만, 빠르게 개발할수 있다는 측면에서 매우 좋지만 view 즉, url 별로 보여줘야 하는 페이지가 증가하는… Read More

(python) try ~ except and trace

이상하게 파이썬을 빨리 빨리 뚝딱 만드는 언어로 많이 쓰는데(사실 나도 그렇게 쓴다.) 그런데 간호 pypi 에 올려서 욕을 안먹으려면 예외 처리를 해야한다. 당연한 애긴데. ㅎㅎ 아무튼 위의 소스코드를 보면 try: ~ except: 문으로 묶는 것이 기본이다. catch 에 해당하는 것이 except 라고 보면 되는데, Java 처럼 자세히 나오지 않기 때문에 traceback 을 추가해줘야 한다. sys.… Read More

(python) opengraph 라이브러리 리뷰

사실 오픈그래프라는 것에 대해서 알게 된것은 전 포스팅에서 말했지만 우연한 기회였다. 난 그때만 해도 여전히 오픈그래프에 대해서 신기해하고 있던 터라 구글 검색을 해보았는데 파이썬 기반 오픈그래프 파싱 라이브러리가 있었고 분석했던 내용을 소개하고자 한다.  인스톨은 아래와 같이 하면 되고  pip install opengraph  사용하는 방법은 아래와 같다.  간단한 편인데, url=”http://facebook.com” 이렇게 url을 지정하는 방식… Read More

(python) html unescape

HTML 가져온 것을 화면에 보여주거나 할때 반드시 해야하는 작업중에 하나가 바로 언이스케이프작업(Unescape) 이다. HTML 안에 특수 문자들은 어떤 일련의 문자열로 표현이 된다. 예를 들면, ” ” 공백은    <, > 은 < > 이런식으로 말이다. 그렇기 때문에 저런 문자들이 원래 우리가 이해하는 특수문자로 바꿔주는 작업을 하는데 그것을 unescape 작업이라고 한다. 반대로 특수문자들을 일련의 약속된 문자열로 바꾸는것은 escape 작업이다.  아래의… Read More

(python) 사전 정렬 dictsort.py

사전 구축작업 같은것을  있는데, 사실 정렬을 하고 뭔가 필터링 시에 이진탐색등의 방법으로 찾는것이 빠르긴 하다. 때문에 사전 구축작업시에 아무래도 정렬을 하는게 좋긴 한데, 사람손으로 하기엔 사전의 양이 많아지면 많아 질수록 힘들다. 아래의 코드를 보면 알겠지만, -f file또는 -d directory 등의 옵션으로 파일하나 혹은 사전이 있는 디렉토리 자체를 지정할 수 있도록 하였다.… Read More

(python) webkit2png, webpage screenshot

원래는 이것을 찾으려고 한게 아니고, 웹 페이지에서 여러가지 정보를 가져오는 스크립트를 찾던중에 찾은 재밌는 일종의 툴인데, 파이썬 기반으로 지정한 웹 페이지의 스크린샷을 뜨는 작업을 해준다.  http://www.paulhammond.org/webkit2png/ 위의 홈페이지에 가보면 자세한 설치법과 사용법이 나와있는데, 2분정도면 설치하고 테스트를 해 볼 수가 있다. 주의해야할 점은 블로그같은 경우, 한 페이지에 여러글이 길게 나와있는 경우, 만드는… Read More