1
= Ubuntu Single Sign-On Client =
3
Ubuntu Single Sign-On Client has been ported to windows to allow Windows
4
applications to take advantage of the service. This README contains instructions
5
on how to build the project so that it can be distributed as a .exe file.
7
In order to be able to build a .exe for the client py2exe is used. The
8
following are a number of recommendations to follow to ensure that your
9
environment is correctly setup in order to use py2exe successfully.
13
As version 0.6.5 py2exe does not have egg support out of the box an therefore
14
when building the .exe file you have to work around this limitation. At the
15
moment the recommended way to work around this issue is to tell easy_install
16
to always unzip the eggs so that py2xe can work with them. In order to
17
unzip an egg when installing it with easy_install you can use the
18
--always-unzip option.
22
easy_install --always-unzip oauth
26
Do to the way that py2exe works, there are a number of issues that may happen
27
depending on the setup of you system.
29
=== PyQt and PySide ===
31
If you have PyQt and PySide py2exe will try to include both of them. The reason
32
for this to happen is due to the way in which py2exe looks for dependencies. The
33
module_finder form py2exe does not distinguish between normal imports and those
34
that are wrapped around a try/except block. This means that the following code
35
from the qtreactor will make py2exe believe that both are needed:
37
This is a dangerous situation because PyQt and PySide do have different release
38
cycles and normally do not depend on the same version of Qt. If in you system
39
you have the two libraries using different version of Qt the build package
40
might import dlls from different version which results in a runtime error.
42
There are two ways to solve this issue:
45
* Ensure that both libs do depend on the same version of Qt.
47
== PyQt and PyInstaller ===
49
PyInstaller has support for PyQt application out of the box. This means that
50
PyInstaller has the Qt dlls in its installation. As with the issue with PySide
51
it might happen that the dlls used by PyInstaller and the ones used by the PyQt
52
version installed in you machine differ in their version. In cases where
53
PyInstaller is present in you python path (for example in C:\Python27\Scripts)
54
py2exe will copy the dlls found in the PyInstaller directory for an unknown
55
reason. This will raise a runtime error complaining about the use of dlls from
b'\\ No newline at end of file'