Howto install Pida on Windows

As of 24 january 2009, Pida is running on windows.

Follow these steps to test it. You can test in virtual machine (eg. virtualbox) too.

Please report problems to the mailing list.

Limitations

Currently on windows there is no DBUS support. We are limited to medit (no vim or emacs).

Please see the DBUS section for helping us.

Step-by-step instruction

1. get this all-in-one installer:

 http://www.bonifazi.eu/appunti/pygtk_windows_installer.exe

It will install for you:

  • python 2.5.2
  • gtk 2.10
  • pycairo
  • pygtk
  • pygobject
  • pywin32
  • pyopengl and pygtkglExt are not necessary

2. Needs to fix your paths variable

Although this all in one installer is very handy, it does not set the path variable right.

Do the following:

  1. Right click on My computer, and select properties
  2. Under the tab Specials select the Environment variables button
  3. set the PATH variable to the following:
    C:\Program Files\Gtk\bin; C:\Python25; C:\Python25\Scripts 
    

3. Install python-setuptools

 http://pypi.python.org/pypi/setuptools Scroll down to the files, download and install: setuptools-0.6c9.win32-py2.5.exe or newer

4. Install simplejson

Download simplejson directly from:  http://pypi.python.org/packages/2.5/s/simplejson/simplejson-2.0.7.win32-py2.5.exe#md5=f5285850f9f73cac99ecdb0e415ec4fc , and double-click on it.

5. Install kiwi

 http://ftp.gnome.org/pub/GNOME/binaries/win32/kiwi/kiwi-1.9.23.win32.exe

6. Install gazpacho

 http://ftp.gnome.org/pub/GNOME/sources/gazpacho/0.7/gazpacho-0.7.2.win32.exe

7. Install mercurial

 http://mercurial.berkwood.com/binaries/Mercurial-1.1.exe

8. Install psutils:

 http://code.google.com/p/psutil/

9. download medit with python support:

 medit downloads

If you download medit with python support, you do not need to compile pida/contrib/moo directory. (it is a fallback mechanism if medit is missing python bindings)

You need at least version 0.9.4. But newer version would be better (some serious bugs fixed already in hg trunk).

10. Take the appropriate file from medit source to python directory

After installing medit (with python support), then took out moo.pyd, libmoo.dll, libxml2-2.dll to the c:\python25\dlls folder

    default installation:
    C:\Program Files\medit\lib\moo\plugins\lib\moo.pyd
    C:\Program Files\medit\bin\libmoo.dll
    C:\Program Files\medit\bin\libxml2-2.dll

11. Get PIDA:

hg clone http://bitbucket.org/aafshar/pida-main/

And put somewhere on your harddisk. From this directory we will launch pida by run-pida.py.

We are referring to this directory as [pida-installed-dir] in this document.

12. Syntax highlighting and right colors

If you do not do this step you will get hardly readable texts because of colors. (see attached screenshot)

For syntaxhighlighting you need the mooeditor languagespecs and style-schemes: Copy content of

C:\Program Files\medit\share\moo\language-specs\

into

your-pida-install\pida\editors\mooedit\shared\language-specs\

13. Launch pida

Just double click on [pida-installed-dir]/run-pida.py file to get pida running. Select medit for editor (no vim and emacs for now), and its likely that pida will freeze the first time. Then you simply relaunch pida, and everything will be normal.

Optional steps (additional functionality)

1. Anyvc

For now, you better skip this. There are problems importing hg on win32.

hg clone http://www.bitbucket.org/RonnyPfannschmidt/anyvc/

  1. Make a externals directory in your pida installation dir.
  2. Copy the anyvc dir into externals dir.

2. Rope (Python outliner)

hg clone http://bitbucket.org/agr/rope

Copy it into [pida-installed-dir]/externals too

3. Native look-and-feel on windows

Overwrite the default gtkrc file:

copy c:\Program Files\Gtk\share\themes\MS-Windows\gtk-2.0\gtkrc c:\Program Files\Gtk\etc\gtk-2.0\gtkrc 

See attachements, how it looks before and after this modification.

DBUS

Currently Dbus is not an absolut necessary thing to get pida running on windows xp. However dbus is highly needed in the near future.

It is needed because of two things: * To get running vim as text editor (not only medit) * To be able sending remote commands to pida

We are exploring to following way to run dbus on windows:

  1. Install the python dbus bindings (not tested)

Download the  python-dbus source(0.83.0) from freedesktop site. Decompress it, and take the dbus folder from the source tree, and put it at c:\python25\lib folder

  1. Install dbus bindings under windows (tested, has some problems)

 The deluge project has compiled python dbus bindings. You can download from:  http://www.slurdge.org/files/Deluge_on_windows/win32.7z More info:  http://www.slurdge.org/deluge-on-windows

Take the

/win32/dbus-python-bindings/_dbus_glib_bindings.pyd, 
                            _dbus_bindings.pyd
                            _dbus_glib_bindings.pyd
                            libdbus-1.dll
                            libdbus-glib-1.dll

files, and put into C:\Python25\DLLs directory.

With this, the "import dbus" command will work. But I cant creat new session, or use dbus in real life.

Finding dbus-daemon

In win32.7z file there are dbus-daemon and dbus_daemon_wrapper directory. I have put the contents of these directory under c:\python25\dbus-daemon directory. And I added this directory to the PATH variable.

Now pida does not complaint anymore about dbus-daemon.exe file, but fails with the following backtrace:

Traceback (most recent call last):
  File "run-pida.py", line 9, in <module>
    from pida.core import application
  File "C:\Documents and Settings\Rendszergazda\Asztal\pida_install\pida-2008112
4\pida-main\pida\core\application.py", line 68, in <module>
    from pida.core.boss import Boss
  File "C:\Documents and Settings\Rendszergazda\Asztal\pida_install\pida-2008112
4\pida-main\pida\core\boss.py", line 18, in <module>
    from .options import OptionsManager
  File "C:\Documents and Settings\Rendszergazda\Asztal\pida_install\pida-2008112
4\pida-main\pida\core\options.py", line 20, in <module>
    from .pdbus import DbusOptionsManager
  File "C:\Documents and Settings\Rendszergazda\Asztal\pida_install\pida-2008112
4\pida-main\pida\core\pdbus.py", line 273, in <module>
    from pida.utils.pdbus import (UUID, DBUS_PATH, DBUS_NS, EXPORT,
  File "C:\Documents and Settings\Rendszergazda\Asztal\pida_install\pida-2008112
4\pida-main\pida\utils\pdbus.py", line 17, in <module>
    BUS = dbus.SessionBus()
  File "c:\Python25\lib\dbus\_dbus.py", line 219, in __new__
    mainloop=mainloop)
  File "c:\Python25\lib\dbus\_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "c:\Python25\lib\dbus\bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not recei
ve a reply. Possible causes include: the remote application did not send a reply
, the message bus security policy blocked the reply, the reply timeout expired,
or the network connection was broken.

So it looks like, we need PROPERLY launch dbus under windows.

Medit bindings and what is REALLY required

There is a contrib/moo directory inside pida, but this code is a fallback mechanism. It is ONLY required if medit + its python bindings are missing. (but if you installed medit with python support (see step 4), you do not need to compile this directory.

TODO

Windows installer (TODO)

Pack all the above steps into an NSIS installer

Gconf [DONE]

Currently on windows, there is no gconf, and pida use it for config storage. Ronny is doing a replacement, initially he thought using pydbusconf. Final implementation use json az configfile scheme.

Ronny has implemented it (2008-11-07), please see:  landing options refactor

DBus (TODO)

We need absolutely DBus on windows in the near future. Please see the DBUS section for more info.

Terminal (TODO)

We are not able (yet) to run terminal inside pida. Please see ticket #291 and #292. We are exploring possibilities on windows. Ideas:

Mingw32 (TODO)

For compiling (and not just copying the already compiled stuff) dbus bindings and medit python support, we need mingw32 set up correctly. We need more help with this, so if you are experienced or just want to play with it a bit, please write your progress (or any question) to the  pida mailing list. Maybe msys is needed too.

Attachments