저자: 스티브 피긴스, 역 전순재
최근 짐 버블리쯔(Jim Bublitz)가 PyKDE2 베타 버전을 선언했다.
PyKDE2를 사용하면 파이썬 프로그래머는 K 데스크탑 환경(
K Desktop Environment) 2.x과 3.0beta 버전이 가지는 고수준 위젯에 접근할 수 있다. C++ 코드에서 파이썬 바인딩을 만드는 도구인 Sip와 파이썬에 대한 Qt 바인딩인 PyQt를 유지 보수하는 일을 하는 필 톰슨(Phil Thompson)은 KDE 1.x 바인딩 집합을 만들었다(몇 년전으로 거슬러 올라가 처음으로 PyQt를 만들었을 때). 그는 그동안 Sip와 PyQt 유지 및 보수를 했지만 PyKDE를 갱신하는 작업에는 관여하지 않았다.
짐 버블리쯔(Jim Bublitz)는 KDE 1.x용 PyKDE를 사용해 자신의 전자공학 중개업무용 커스텀 이메일 클라이언트를 만들었다. 그는 editor와 html 위젯과 같이 둘 다 메일 클라이언트에 요긴하게 사용되는 KDE 고수준 위젯을 좋아했다. PyKDE가 새로운 버전으로 다시 나오지 않는다는 것이 명확해지자 버블리쯔(Bublitz)는 새로운 버전을 만드는데 뛰어들었다. "내가 약간 미쳤었나 봅니다."라고 버블리쯔(Bublitz)는 웃으며 말했다. "필(Phil)이 말하길 "그냥 필요로 하는 것만 하라 그러면 나나 다른 사람들이 나머지를 맡아 처리해 줄 것이다"라고 했습니다. 그런데 알고 보니 그런 식으로 처리할 수는 없으며, 전체를 한 번에 상당히 많이 처리해야만 한다는 것을 알았습니다."
나는 버블리쯔(Bublitz)에게 작업이 어땠는지를 물어 보았다. 그는 "KDE용 헤더 파일들부터 먼저 작업을 시작합니다. 그리고 Sip이 이해할 수 있도록 그 헤더 파일들을 변경합니다. 예를 들어 변수 이름들을 지워버리든가, C++ 코드를 수작업으로 작성하여 임시 클래스로 또는 참조로 건네지는 변수들을 처리하는 것인데, 이런 작업들은 Sip이 지원하지 않습니다. 헤더 파일들을 수정하기만 하면 작업의 80-90%는 자동적으로 완성되는 것입니다. 나머지는 그저 다듬고 작동하도록 하는 작업 뿐입니다."
지난해 6월 그는 드디어 작동하는 라이브러리들을 확보하였다. "다른 것들도 작동시키기 위해 필(Phil)은 Sip에 네임 스페이스 지원을 비롯한 몇 가지 변경을 해야 했습니다. 그리고 여름이 끝나갈 즈음에야 우리는 그 모든 작업을 확정하였습니다. 그리고 11월경이 되어서야 PyKDE의 첫 번째 배포판을 출시할 수 있었습니다."
"사실 필(Phil)이야말로 이 모든 작업 뒤에 숨은 진짜 두뇌입니다"라고 버블리쯔(Bublitz)는 말했다. "나는 KDE와 관련된 거의 모든 작업을 했지만, 꽉 막혀 답답할 경우 그에게 전자우편을 보냈습니다. 그러면 그 역시 Sip을 수정해 주거나 나에게 가야 할 방향을 알려 주었습니다. 나는 개인적으로 한 번도 그와 만난 적은 물론 직접적으로 대화해 본적도 없었지만, 정말 훌륭하게 협동작업을 할 수 있었습니다."
이 버전에는 아직도 해야 할 작업이 남아 있다. 최근 Sip에 변경사항이 추가되었기 때문에 버블리쯔(Bublitz)는 몇 가지를 더 묶을 수 있을 것으로 예상된다. 그렇지만 버블리쯔(Bublitz)의 말에 의하면 아직까지 그가 처리하지 못한 클래스는 kcrash 클래스 뿐이라고 한다. 앞으로 그가 원하는 것은 플러그-인 작성법, 다른말로 파이썬으로 kparts를 다루는 법을 이해하는 것이다. 버블리쯔(Bublitz)는 "그렇게 하려면 현재 C++이나 libtool 호환 라이브러리가 있어야 합니다. 하지만 그런 것들은 파이썬으로 만들 수 없습니다"라고 말했다.
현재 버블리쯔(Bublitz)는 네 개의 타르볼(tarball) 패키지로 PyKDE를 만들었는데, 하나는 포괄적인 소스 코드와 구축 프로그램을 담고 있다. 포함된 구축 프로그램은 KDE 2.1.x, 2.2.x 그리고 3.0 베타에 대하여 각각에 맞는 패키지를 구축한다. 나머지 세 개의 타르볼 패키지는 2.1.x, 2.2.2, 그리고 3.0beta2에 대하여 각각 미리구축된 버전이다. 2.2.0 또는 2.2.1에 대해서는 여러분이 그 포괄적인 타르볼 패키지로부터 구축할 능력이 된다고 간주한다. 내가 이것을 2.2.1인 시스템에서 시험해 보았으나 여전히 어떤 문제에 봉착했다. 아마도 PyKDE2 시스템에 맞추어 KDE를 업그레이드해야 하겠지만, 지금까지 필자는 3.0버전 말고 다른 더 좋은 버전을 기다리는 중이다.
그렇지만 미리구축된 소스 배포본중의 하나는 기종(machines)에 일치 할 경우 설치는 "configure;make;make install"이라고 타이핑만 하면 될 정도로 아주 쉽다. 그러고 나면 섬세하고 고수준인 모든 KDE 위젯들이 파이썬 애플리케이션에 추가를 시작할 수 있을 것이다. 만약 여러분이 리눅스 개발자이고 아직 PyQt로 프로그램을 만들어 본 경험이 전혀 없다면 틀림없이 PyKDE2는 여러분의 욕구를 충족시켜 줄 것으로 생각된다.
Qt/KDE 뉴스의 선두를 장식하며, 오픈독스(
OpenDocs)는 보드윈 렘트(Boudewijn Rempt)의 『파이썬으로 하는 구이 프로그래밍: QT판 (Gui Programming with Python: QT Edition)』의 선적되기 시작했다고 방금 선언했다. 지금 당장 서점에서 그 책을 볼 수는 없을 것이다. 그렇지만 리눅스 포트(
Linux Ports)에서 주문할 수 있고, 도착을 기다리는 동안
온라인으로 볼 수도 있다.