27 January 2011

Conservative All in One PyGTK Installer

!!OBSOLETE WARNING!! This one looks very promising instead, I might update this pack or maybe not... since it would be pointless. Anyone who like to build pygtk python bindings may read my post here. It's for mypaint but relevant

BIG PyGTK Packages to keep you busy before migrating to GTK-3, PyGI and Python 3. Or are you want to try PyGI PyGobject try my experimental build 13 February 2013 here

22 April 2012
pygtkaio.7z
Alternate download for people who hate installer :-)
no changes except it doesn't include extras and have updated libcairo

22 July 2011
headers.7z (7.86 MB)
Just in case you're C developer and interested to use this runtime... (note that I build all from scratch even things like zlib, so it's completely unofficial)
headers only  (may contain unnecessary headers), import lib and static lib are too huge for me to upload
I'll assume you can use dlltool to make implib

pexports libsomething.dll >something.def
dlltool -D libsomething.dll -d something.def -l libsomething.dll.a




02 July 2011
pygtk_aio-2011_win32_installer_py25-27-rev5.exe
md5:32c0558754ae06e14d5db466037ce174
Nothing changed, only installer fix as pointed anon below

30 May 2011
pygtk_aio-2011_win32_installer_py25-27-rev4.exe
md5:eb80322f7da800196cb77d79d7e7d6a2
added python GTKExtra, python GTKSheet and a CC BY SA tango icon theme
patch libpng with APNG support, replace some mismatched gtk theme engines
fix incomplete uninstallation

15 May 2011
removed: VipsCC-GM, added: PyGEGL & non LGPL GST-plugins, fix: PyGST and PyGEGL init file, update: google vp8 codec for GStreamer

21 March 2011 pygtk_aio-2011_win32_installer_py25-27-rev2.exe

fix installer, updated pango.aliases with win7 fonts

20 March 2011
fix libthai, clean some warnings and unused locales
now for python 2.5-2.7. Size less more stuff some fixes

27 January 2011
initial installer

The installed PyGTK will be self contained and portable, it won't affect/affected by other GTK Runtime you might already have and developers don't need to deal with dependencies. It use conservative GTK+ 2.16.6 version instead the newest. With complete components (libraries, themes, locales, dicts & docs) under fair liberal license, mostly LGPL unless noted.

Why so big? I'm aware that many of those aren't available officially yet (poppler, webkitgtk, clutter, libming, gegl, vipscc etc) thus runtime incompatibility may arise therefor I also pack the whole dlls runtime and every related bindings together.

Install notes:
Uninstall any other version you have first!
Just select only what you need, it will autoselect dependencies
license.zip contain all license information

Content:
PyGTK 2.17.0 with numpy support
PyGobject 2.21.5
PyCairo 1.8.10
PyGtkspell, PyGTKhtml2, PyGDL 2.25.3
PyGDA 2.29.1
PyGST (Python Gstreamer) 0.10.20
PyWebkitGTK 1.18
PyClutter 1.3.2 with gst and gtk binding
PyGTKGlExt 1.1.0
PyGoocanvas 0.14.1
PyGTKSourceview 2.10.0
PyGTKImageview 1.2.0
PyRSVG 2.30
PyScintilla 1.99
PMing 4.4
Python Poppler 0.12 GPL
VIPSCC 7.24

Runtimes:
See from the installer... too many to list

Gstreamer notes:
I haven't test each plugin! (that's almost 200 plugins) so if one broken just be cooled :)
tested: vorbis, midi (wildmidi), flac, mp3, ffmpeg, directsound, directdraw, directshow and several FX.

PyGEGL notes:
If the examples failed to run, you might need to initialize gthread first a.k.a gobject.threads_init()
No docs! see gegl.defs for complete function and use Gegl.list_operations() to see more

Please consider to donate if you find it useful cause it takes a lot time to build and sweat to read legal issues. Enjoy!

Indonesia:
PyGTK AIO adalah installer untuk pengembang perangkar lunak berbasis GTK dan Python untuk sistem operasi Windows. Rilis ini berupa paket komplit untuk Python 2.5-2.7, versi ini juga (menurut saya) lebih dapat diandalkan daripada yg baru2 keluar.

Java:
PyGTK AIO kuwi installer kanggo empu software sing seneng karo GTK lan Python neng Windows. Iki paket sing pepak (ra usah puyeng golek2an) nggo Python 2.5-2.7, tur maneh (ngaraku) luwih manteb tinimbang versi ingkang anyar je.

55 comments:

  1. Hi.
    I'm Kao. I have a question.
    I was trying to test webkit on Window 7.
    It may not support unicode.
    How can I solve this problem?

    * test code

    # -*- coding: utf-8 -*-
    import gtk
    import webkit

    window = gtk.Window()
    window.set_title("Test")

    browser = webkit.WebView()
    window.add(browser)
    window.show_all()

    browser.open("http://www.google.co.jp/")
    gtk.main()




    Thanks for your work.

    Kao

    ReplyDelete
  2. Yes, this is still a pango issue unfortunately. Refer to this bug report https://bugs.webkit.org/show_bug.cgi?id=18546

    I'll try freetype backend if katakana rendered

    thanks for reporting

    ReplyDelete
  3. No luck, the freetype backend is even worse (no arabic).

    ReplyDelete
  4. Ok.
    I will try to use gecko engine.

    Thanks for your support.

    Kao

    ReplyDelete
  5. BTW Kao, this bug report seems more relevant https://bugs.webkit.org/show_bug.cgi?id=50619

    This issue occurred to CJK (china-japan-korea) languages (those vertical glyph), the patch is aimed for upstream Webkit 1.3.x, not sure if it can be backported to 1.2.x

    ReplyDelete
  6. whoops! after full rebuild the freetype backend actually fixes the problem (see screenshots)

    ReplyDelete
  7. is there a way to preselect some libs? do you give the nsis script source to embed in another installer?
    thanks

    ReplyDelete
  8. The nsi is pretty much embarrassing to show (formerly an auto generated nsi). That's why I don't have pre-selection.

    Here if you want to see it anyway:
    http://dl.dropbox.com/u/2554170/temp/pygtk2.nsi

    ReplyDelete
  9. Hi,

    When attempting to install the AIO I get an error message saying Required Python not detected! Please install Python 2.5, 2.6 or 2.7 first!

    I have both 2.6.6 and 2.7.1 installed during the launch of the AIO setup. The defaul paths of C:\Python26 and C:\Python27 are the locations for those versions.

    What should I do to get the AIO to install?

    Thanks

    ReplyDelete
  10. It scan for this registry entry: HKLM\SOFTWARE\Python\PythonCore\2.x\InstallPath with default value like "C:\Python2x"

    I need to ensure that it was from official python install.

    ReplyDelete
  11. Hi,
    excellent work on this!

    While installing the AIO, for some reason many of the modules (poppler, cairo etc.) were dropped in:

    c:\Python27Lib\site-packages

    while they should have gone into:

    c:\Python27\Lib\site-packages

    This may be a small bug in the install script that's missing a "\" between "Python27" and "Lib".

    simply moving the files back into the python tree fixes everything.

    Thanks!
    deep.ghosh

    ReplyDelete
  12. Thanks, it seems your python isn't detected but yes I forgot to add trailing slash for this particular case. Shouldn't affect people who install official python 2.x though...

    ReplyDelete
  13. I have installed the official python in a machine where I am not an administrator. Is there a manual way to tell the installer where is the Python folder where I want to install all these libraries?

    Thanks,
    Jose

    ReplyDelete
  14. Hi Jose

    It check for one of these (in order)
    HKLM\SOFTWARE\Python\PythonCore\2.5\InstallPath --> need admin
    HKCU\SOFTWARE\Python\PythonCore\2.5\InstallPath --> this might what you're looking for
    C:\Python2x\python.exe --> if you have write access there

    for registry you fill it with something like "c:\python26\"

    ReplyDelete
  15. Hello,

    First of all thanks and it's a great package really!

    Quick question? Did you try using it with Py2exe? Because something breaks and I don't understand. Maybe it isn't suppose to work. "libcairo-2.dll throws an exception", At least that's what the error window says.

    Regards.

    ReplyDelete
  16. I use some for Mypaint (I'm the the windows build maintainer) so you could see my setup.py here http://opensourcepack.blogspot.com/2009/08/building-mypaint-in-windows.html inside mypaint_buildenv2.7z file. Also try to run your exe under Dependency Walker (which help me alot back then)

    Don't forget to copy etc folder from \site-packages\gtk-2.16.6 to make gdk-pixbuf working

    ReplyDelete
  17. Oh man! Awesome! Thanks, I'll try it!

    ReplyDelete
  18. the etc files where missing...

    ReplyDelete
  19. Awesome pack, thank you very much for this.

    Is there any chance of this getting updated? I need a newer version of cluttergst for windows but I can't find any binary or how-to build for windows manual. Do you know where can I find a manual to make a build for windows?

    tyvm

    ReplyDelete
  20. Nope, as it entitled "Conservative" it meant to be used with the golden GTK 2.16 because many other bindings are broken with newer GTK. Sorry

    ReplyDelete
  21. Ok, no problem. I still find this pack very useful so thank you anyways.

    ReplyDelete
  22. Hi TumaGonx,

    I would also be interested in a way to build this myself, because I'm trying to use WebKitGTK to render Flash animations and it's not working on Windows, so I'd like to debug it. Any chance of build instructions?

    Cheers, Chris.

    ReplyDelete
  23. Sure, I have posted it before

    http://opensourcepack.blogspot.com/2011/01/building-webkitgtk-on-windows.html

    http://opensourcepack.blogspot.com/2009/12/pywebkitgtk-windows-binary.html

    and the reason why flash failed: https://bugs.webkit.org/show_bug.cgi?id=54531

    ReplyDelete
  24. Hi TumaGonx,

    The printing in WebKitGTK seems to be broken - it crashes even in the demo browser. The same behaviour is on Windows XP, Vista and 7.

    I had to update the cairo dll to the latest version to make it work.

    But it still seems to be broken - the content is scaled down about 8-10 times. I tested it with my custom application and got the same result. I think I need to either make a stylesheet for printing with fonts scaled up or to scale the page up using WebKitGTK printing api.

    But it doesn't work out of the box for me :-(
    The printing on Linux works without any problems.

    Do you know any possible solutions? I wonder if using a new WebKitGTK version might fix it...

    Regards,
    Pawel

    ReplyDelete
  25. Ewww that's one ugly scaled down print (tried with webkitgtk 1.6.3)

    Looks like webkit feed the wrong data to cairo. Anyways I don't think can help much either. So far I was unable to compile the debug build, just barely JSCore, gcc would eat my whole 2gig ram and died :(

    sorry

    ReplyDelete
  26. Pawel,

    If you want to try it yourself, here is a "somewhat" drop-in replacement for the AIO

    http://dl.dropbox.com/u/2554170/webkitgtk-1.6.1_win32.7z

    ReplyDelete
  27. Thanks, TumaGonx!

    Anyway, I added this callback to 'print-requested':

    def _print_cb(web_view, frame):
    web_view.hide()
    web_view.set_zoom_level(8.0)
    frame.print_()
    web_view.set_zoom_level(1.0)
    web_view.show()
    return True

    Ugly as hell, but the result looks OK. I will tell you if I find anything that is better than that.

    Regards,
    Pawel

    ReplyDelete
  28. I see, at first I was under impression that cairo dump it as flat image with png-backend, but it's indeed a postscript and scaling up like that would fix it.

    ReplyDelete
  29. How and where can I select the components I want installed? Specifically I need the following:

    PyGTK, PyGObject, PyGTKSpell, PyWebkitGTK w/o Gstreamer

    Thanks in advanced

    ReplyDelete
  30. What do you mean? if you can mention it aren't you actually look at the component now?

    pick only pygtkspell and pywebkitgtk w/o gstreamer for python version you wish to work with

    ReplyDelete
  31. I am a total newbie, basically I am following directions from another person. His directions are as follows.


    * Download the PyGTK/GTK all-in-one installer and make sure you select
    the following subpackages: PyGTK, PyGObject, PyGTKSpell, PyWebkitGTK w/o Gstreamer
    [http://opensourcepack.blogspot.com/2011/01/conservative-all-in-one-pygtk-installer.html]


    SO I downloaded the files, and see no place during install to select anything.

    ReplyDelete
  32. Ahh I see :D

    Did you get the warning of no python installed?
    Basically this meant you haven't install python yet (or installer didn't detect it), please install either version 2.5,2.6 or 2.7 from http://www.python.org/download/

    regards

    ReplyDelete
  33. Pythion 2.6 installed and detexted

    No options given inn the install

    Will try reinstalling Python or running repair

    ReplyDelete
  34. BTW I did install the python 2.6 I did not include all the directions I was given here are complete directions as given.

    == Install requirements ==
    (view http://faq.pygtk.org/index.py?req=show&file=faq21.001.htp for more details)
    * Install Python 2.6 for Microsoft Windows from the Python website [www.python.org].
    * Download the PyGTK/GTK all-in-one installer and make sure you select
    the following subpackages: PyGTK, PyGObject, PyGTKSpell, PyWebkitGTK w/o Gstreamer
    [http://opensourcepack.blogspot.com/2011/01/conservative-all-in-one-pygtk-installer.html]
    * Install PyYaml from [http://pyyaml.org/wiki/PyYAML]

    Guess I was led to believe that when I installed the AIO package I would be given options on what to install?

    All I get is for python 26 and pyscripter

    ReplyDelete
  35. :)

    Thats python26 (above pyscripter) have [+] on its left right ? try click that one (the list is too long so it's not expanded by default)

    ReplyDelete
  36. Sorry to be such a pain and I REALLY appreciate your help. Once I followed your directions it all made sense. But now I am stuck with a problem I hope you can help me with. I got the AIO rev 5. It installed things in gtk-2.1.16. My app ran fine. The problems when I tried to compile the app with py2exe it kept causing errors on me. After some sleuthing apparently my setup.py is looking for thing in gtk-2.o. Which installer would I need to get to get things put into the gtk2.0?

    I hope that this makes sense?

    ReplyDelete
  37. I use this for mypaint (pygtk app)

    At minimal the following file/folder should be copied too (beside what has been copied by py2exe):
    gtk-2.16.6\lib\gtk-2.0
    gtk-2.16.6\etc
    gtk-2.16.6\share\icons\hicolor\index.theme
    gtk-2.16.6\share\themes\MS-Windows

    then don't forget Microsoft.VC90.CRT

    ReplyDelete
  38. Hi,
    I tried with the AIO but the demo pywebkit crashes. So does my webkit app. (with py2exe).

    If I do not 'load' any html page, it stays blank and stable but as soon as I provide any address to load, it crashes.

    I am using xp and used AIO latest version. Tried with the dropbox files as shared in comments above, but with same result.

    I installed pywebkit w/o video + html support + image viewer.

    Regards,
    Jim

    ReplyDelete
  39. @Jim

    Try run your py2exe stub under Dependency Walker, then see which module that failed?

    ReplyDelete
  40. Hi,
    I used latest AIO with ActivePython 2.7.2.5 and have a problem with pygst. It claims, it can not find the module _gst although it is there...
    changed line 193 to:
    import _gst

    after that it dies on line 200:
    version = get_gst_version

    I tried get_gst_version() with no success

    any idea?

    regards

    Hinnack

    ReplyDelete
  41. hi,
    forget about my ast post :-(

    My real problem is this:
    http://www.gnu.org/software/pythonwebkit/

    Maybe you could integrate their patch on your next build?

    regards

    Hinnack

    ReplyDelete
  42. Hi Hinnack,

    DOM access has been supported around webkitgtk version 1.6.x and newer (no need special patches), unfortunately the only way to get it is by migrating to PyGI.

    This packages will remain conservative as is and I don't planned to update to pygtk-2.24.x either.

    Regards

    ReplyDelete
  43. Hi,
    thanks for your replay!
    can you be more precise on "migrating to PyGI"?

    And I am trying to use your lib with py2exe and get missing zlib.pyd - which is right, I only have zlib.dll ...
    (using ActivePython 2.7.2.5 & py2exe 0.6.9

    regards Henrik

    ReplyDelete
  44. Hi, I have a problem with this download
    pygtk_aio-2011_win32_installer_py25-27-rev5.exe

    Abount at 50% the download Crash. I try to download with many browser, but I have the same problem.

    Is a My problem?
    There's an another download?

    ReplyDelete
  45. Hi
    i was creating a python gtk & wekit tool which has to render an html5 with image and Video support.

    i installed pygtk_aio-2011_win32_installer_py25-27-rev5.exe

    and when i'm running it, its not able to render the page containing Video Tag. in fact its getting crashed. i also try to open youtube home page, its crashed there too.

    Can you please help, what am i doing wwrong?

    ReplyDelete
    Replies
    1. Here is the error i got in console,

      ** (python.exe:2492): CRITICAL **: void webkit_web_frame_load_uri(WebKitWebFrame
      *, const gchar*): assertion `WEBKIT_IS_WEB_FRAME(frame)' failed

      Delete
  46. Hi,

    thanks for all your work on getting those libs out there!

    Which webkitgtk version is included in the 22 April 2012 pygtkaio.7z package? Are you planning on releasing a newer webkitgtk build (libwebkitgtk-1.0-2)? I would be very grateful ;)

    Cheers,
    Jendrik

    ReplyDelete
    Replies
    1. that's 1.2.6, i think
      There is annoying widget rendering bug when using webkit 1.6.x/1.8.x with gtk2, dont know with 1.4.x though. (Version >= 1.8.1 already has plugins support)

      this package is pretty much stuck as I predicted :) even gtk 2.24.10 is not completely sane in few case.

      I'm more into gtk3/pygi now, see http://opensourcepack.blogspot.com/p/pygobject-pygi-aio.html if you interested (i have experimental webkit 1.8.x and 1.10.x)

      Delete
  47. Halo bos TumaGonx, file glade.exe rupanya terdetexi virus "TR/Diple.aipm.2' muncul 2 kali yakni ketika saya install di Python25 dan Python26. Makasih! x2nie

    ReplyDelete
    Replies
    1. Alo gan, perasaan dulu waktu upload pertama kali ga ada tuh virus apapun pake virustotal.com, lagian md5sumnya masih sama ampe skrg, ga tau nih, kali aja false-positive. Yg jelas dulu di compile bareng-bareng kok (termasuk glade), jadi kalo kena virus harusnya kena semua dong.

      Trims

      Delete
  48. this package not include jswebkit,i real need it,how can i find

    ReplyDelete
    Replies
    1. because there is no such thing! read my previous comments about pygi if you want js/dom access/binding

      Delete
  49. Hey is it possible to make a pyGTK and pywebkitgtk application into an exe file? If so, how would I do that using something like pyinstaller or pyexe?

    I'm asking because I want to make https://github.com/Trixarian/pywse stand-alone on Windows.

    ReplyDelete
  50. Thank you for this! I needed vipsCC and linked libraries and this helped A LOT!

    ReplyDelete