2

LinuxとWindowsの両方で動作するアプリをCPythonで作成しようとしています。私はWebkitライブラリを使用していますが、witchはLinux(Ubuntu 12.04)で正常に動作しますが、Windowsでは動作しません。

を使用してアプリをWindows実行可能ファイル(.exe)にコンパイルできることは知っていますpy2exeが、そのためには、Windowsマシンで動作する必要があります。

質問は次のとおりです。Linuxでアプリをパッケージ化して、依存関係(webkit)をバンドルし、Windowsで動作するようにする方法はありますか?または、LinuxでPythonファイルからの依存関係を必要としない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()
4

2 に答える 2

7

さて、GTKを使用してWindowsでWebkitを動作させることができませんでしたが、Qtが統合されたWebKitモジュールを提供していることがわかったので、PySide(PythonのQtラッパー)をダウンロードして、次のスクリプトでテストしました。

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*を使用して.exeWindowsアプリにパッケージ化しました。(モジュールatexit、PySide.QtNetwork、詳細はこちらを含めることを忘れないでください)

Qt-Webkitのクールなガイドはここにあります(PyQtを使用していますが、Pysideと互換性があります)

また、ここにPysideチュートリアルがあります

于 2012-08-10T18:08:39.517 に答える
0

スクリプトをWindowsで実行するには、Webkitとその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

2番目のリンクは、必要なすべてのライブラリ(オールインワンパッケージ)をインストールするバイナリを提供します。

于 2012-08-07T20:38:36.427 に答える