2012-08-07 3 views
2

나는 CPython에서 리눅스와 윈도우 모두에서 작동해야하는 응용 프로그램을 만들려고합니다. 저는 웹킷 라이브러리를 사용하고 있습니다. 마녀는 리눅스 (우분투 12.04)에서 잘 작동하지만, 윈도우에서 작동하도록 할 수는 없습니다.파이썬 크로스 플랫폼 애플 리케이션

내 응용 프로그램을 (.exe)py2exe으로 컴파일 할 수 있다는 것을 알고 있지만 내 Windows 컴퓨터에서 작동해야합니다.

질문 : 리눅스에서 내 앱을 패키징 할 수있는 방법이 있습니까? 그렇다면 Windows에서 작동하는 종속성 (웹킷)이 번들로 제공됩니까? 아니면 리눅스에서 파이썬 파일의 의존성을 필요로하지 않는 윈도우 실행 파일을 만들 수있는 방법이 있습니까?

감사합니다.

편집 :

import gtk 
import webkit 

class Base: 
    def __init__(self): 
     self.builder = gtk.Builder()  
     self.builder.add_from_file("youtubeWindow.ui")  
     self.main_window = self.builder.get_object("main_window") 
     self.scrl_window = self.builder.get_object("scrl_window") 
     self.webview = webkit.WebView() 
     self.scrl_window.add(self.webview) 
     self.webview.show() 
     self.webview.open("http://youtu.be/o-akcEzQ6Y8") 
     self.main_window.show() 

    def main(self): 
     gtk.main() 

print __name__ 
if __name__ == "__main__": 
    base = Base() 
    base.main() 
+0

Windows에서 실행하려고하면 어떻게됩니까? 오류 메시지가 있다면 무엇입니까? –

+0

내 스크립트를 실행하려고하면 "import webkit"(마녀는 Linux에서 작동 함)을 인식하지 못합니다. 그리고 Windows 용 작업 웹킷 라이브러리를 찾는 행운이 없었습니다. –

답변

7

그래, GTK가있는 창에서 작동하는 웹킷을 얻을 수 없지만 Qt가 통합 웹킷 모듈을 제공한다는 것을 알았습니다. PySide (Python 용 Qt 래퍼)를 donwloaded했고이 스크립트로 테스트했습니다. :

import sys 
from PySide import QtCore 
from PySide import QtGui 
from PySide import QtWebKit 

class MainWindow (QtGui.QWidget): 

    def __init__(self): 
     super(MainWindow, self).__init__() 
     self.setGeometry(300,300,800,600) 
     self.setWindowTitle('QtPlayer') 
     web = QtWebKit.QWebView(self) 
     web.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)  
     web.load(QtCore.QUrl("http://youtu.be/Dys1_TuUmI4")) 
     web.show() 
     self.show() 


def main(): 
    app = QtGui.QApplication(sys.argv) 
    win = MainWindow() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 

또한 내가 GUI2EXE 을 사용 * 나 cx_Freeze은 * .exe 인 윈도우 응용 프로그램으로 패키지 할 수 있습니다.

된 Qt 웹킷에 멋진 가이드 (모듈을 atexit, PySide.QtNetwork 자세한 내용 here을 포함하는 것을 잊지 마십시오) here (그것은 PyQt는 usese하지만 Pyside과 호환)을 발견

할 수있다

또한 Pyside 자습서 here

0

는 Windows (라이브러리) 웹킷과 바인딩을 설치해야합니다 Windows에서 스크립트를 실행 위하여 : 다음은 테스트 응용 프로그램에 대한 내 코드입니다. 아래 링크 2 개는 설정 파일과 지침을 제공합니다.

http://opensourcepack.blogspot.com/2009/12/pywebkitgtk-windows-binary.html http://opensourcepack.blogspot.com/2011/01/conservative-all-in-one-pygtk-installer.html

두 번째 링크

는 모든 필요한 라이브러리 (올인원 패키지)를 설치하는 바이너리를 제공합니다.

+0

두 번째 링크에서 ** pygtk_aio-2011_win32_installer_py25-27-rev5.exe **를 설치했습니다. 이제 webkit 및 gtk을 가져올 수 있지만 내 응용 프로그램을 실행할 때 오류가 발생합니다. _GtkWarning : 'gtk-fullscreen'아이콘을 찾을 수 없습니다. 'hicolor'테마도 발견되지 않았으므로 아마도 설치해야합니다. self.webview = webkit.WebView() _ 스크립트는 내가 추가 할 때까지 작동합니다 ** self.scrl_window.add (self.webview) ** 그래서 나는 theres 웹킷 lib에 문제가 있다고 생각합니다. –

관련 문제