2012-10-01 2 views
7

제 질문은 플랫폼 (Mac/Linux/Windows)에서 GUI 응용 프로그램을 배포하기 쉽기 때문에 사용자의 작업을 가장 쉽게 만드는 도구를 알고 싶습니다. .파이썬 GUI 응용 프로그램 배포 : wxPython, TKinter 또는 QT로 작성

사용자가 Python을 상자에 설치 한 상태에서 내 응용 프로그램을 실행할 준비가되어 있어야하기 때문에 Tkinter 응용 프로그램을 설치하는 것이 가장 쉽습니다.

wxPython 또는 pyQT로 작성된 GUI 응용 프로그램의 경우 추가 단계 인 wxWidget 또는 QT를 먼저 상자에 설치 한 다음 내 GUI 응용 프로그램을 설치해야합니다. (하지만 내 우분투 상자에는 wxWidget 라이브러리가 있고 QT 라이브러리는 기본적으로 설치되어있는 것으로 보입니다. 표준 또는 우분투 배포본이 사용자에게 좀 더 친숙한가요? Windows 및 Mac이 아마도 defualt, 즉 사용자가 필요로하지는 않을 것입니다. 사용자가 필요합니다. 추가 단계로 다운로드하여 설치)

+2

는 Tkinter는 파이썬이해서 사용할 수 있습니다 보장이 없습니다. 확장 모듈이기 때문에 별도의 패키지로 나눌 수 있습니다. 맨드리바 리눅스 배포판은 이것을 수행하며 아마도 다른 것들이있을 것입니다. – ekhumoro

답변

8

쿠분투를 실행하는 경우 PyQt가 기본적으로 설치됩니다. 대부분의 리눅스 배포판은 기본적으로 PyGtk 또는 PyQt 중 하나를 설치합니다. WxPython은 시스템의 다른 패키지에 대한 의존성으로 우분투 상자에 설치되었을 가능성이 큽니다.

대상 시장이 Linux 인 경우 deb 또는 rpm 패키지를 만들면 응용 프로그램의 종속성을 처리 할 수 ​​있습니다.

Windows 및 Mac (당신이 그렇게 경사 인 경우에도 리눅스) .elf이 cx_freeze 같은 라이브러리를 사용하여 같은 .EXE 또는 당신이 당신의 응용 프로그램과 함께 파이썬 인터프리터를 묶을 수 있고 네이티브 실행 파일 형식으로 라이브러리의 내용은

, py2exepy2app. 이 작업이 완료되면 python 또는 모든 라이브러리를 설치할 필요가 없습니다.

+6

[PyInstaller] (http://www.pyinstaller.org/)는 멀티 플랫폼이며 PyQt, wxPython과 같은 많은 타사 라이브러리를 지원합니다. – jfs

+0

PyInstaller도 훌륭하게 작동합니다. – prabu

4

Tkinter는 Python에 포함 된 유일한 도구입니다. wxPython과 pyQT는 wxWindows 또는 QT 라이브러리 을 wxPython 또는 pyQT 라이브러리가 시스템에 설치되어 있어야합니다.

그러나 Tk는별로 좋아 보이지 않습니다. 사용자가 이미 파이썬을 설치하게 만들었다면 라이브러리를 설치하도록 할 수도 있습니다. (또는 설치 관리자 등을 포함 할 수도 있습니다.)

+0

Tk의 모양에 대한 설명이 여기에 적합하지 않다고 생각합니다. 문제는 선택해야 할 툴킷이 아니라 배포 옵션이 무엇인지에 있습니다. 게다가, Tk의 외관은 매우 주관적이어서 IMO의 답을 빗나간 다. –

+3

게다가 Tkinter의 새로운 ttk 서브 라이브러리 (Python 2.7+ 또는 http : //pypi.python에서 사용 가능).org/pypi/pyttk), Tkinter 앱을 꽤 잘 보이도록 만들 수 있습니다. –

2

앱이 크로스 플랫폼이 될 경우 WxWidgets (wxpython)을 제안합니다. 나는 그것을 여러 번 사용했고 결코 문제가되지 않았다.

그럼에도 불구하고 Windows, Mac 및 Linux 용으로 다른 설치 프로그램을 만들어야합니다. Linux에서 종속성을 처리하려면 .deb 또는 .rpm을 사용하십시오.

Windows에서 항상 py2exe을 사용하여 exe 파일을 만들었습니다. Py2exe은 파이썬 인터프리터와 필요한 라이브러리 (이 경우 wxWidgets)를 첨부하여 작동합니다.

확인 자세한 내용은이 링크 : http://www.py2exe.org/

+1

wxWidgets 선택에 대한 의견이 여기에 적합하지 않다고 생각합니다. 문제는 어떤 툴킷이 가장 적합한 것인지에 대한 것이 아니라 배포 옵션에 관한 것입니다. 질문이 "X"를 선택하는 것과 관련이 없을 때 "X를 선택합니다"라고 말하면 누군가 wxPython을 좋아하거나 싫어하기 때문에 간단히 투표를 올리거나 내려갈 수 있습니다. 나는 당신이 배치 주제에 집착한다면이 질문이 더 좋을 것이라고 생각한다. 그러나 wxPython을 배포하기가 더 쉽다고 말하면 특별히 그 이유를 설명해야합니다. –