Additionally, you may need to inject root path (where dll/pyd collected) to PATH env in your main.py to make file association (or shortcut without working directory) works.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
looks for python3.dll... got python34.dll in the folder...
but then I see python3.dll hooked succesfully... Weird... made a test copying python34.dll > python3.dll... "file not found" error disapears but app crashes anyway...
Guess this line has something to do with the crash :
Second chance exception 0xC0000005 (Access Violation) occurred in "MSVCR100.DLL" at address 0x000000006757C1B9.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ahh you're right.
I try to reproduce your setup.py but I've difficulty installing docx
I get:
Traceback (most recent call last):
File "setup.py", line 4, in <module>
import docx
File "D:\Python34-64\lib\site-packages\docx.py", line 30, in <module>
from exceptions import PendingDeprecationWarning
ImportError: No module named 'exceptions'
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think I have passed gi import stage. The thing is cx_freeze miss some files in: [site-packages]\gi\
[site-packages]\gi\overrides
because of peculiar typelib loading you have to include them all manually in your setup.py
ps: compare it with files inside library.zip
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you need to make it small, consider to use pygi-slimgtk-3.18.2_py27_py34_win32_win64.7z
(you need to uninstall pygi-aio first)
BTW I think you might want to inform cx_freeze devs, as this supposedly their "custom support" feature to handle gobject-introspection not pygi-aio issue.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hummm... I see that in the Library.zip, there's only init.pyc in gi/overrides and gi/repository
I modified the setup.py file to add those folders to the library.zip...
DllMain(0x0000000063A40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "LIBGOBJECT-2.0-0.DLL" called.
Second chance exception 0xC0000005 (Access Violation) occurred in "MSVCR100.DLL" at address 0x0000000067F6C1B9.
Am I right if saying that this is the next thing we're looking at ? : LIBGOBJECT-2.0-0.DLL
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yeah, excuse the late answer. I did a lot of tests using an old working version of svsApp and I have been able to compare both folders.
When I compile svsApp using this newer version of Pygi, there're a lot of files missing.
Library.zip is different but even if I replace it with the working version, app don't work.
Some dll are missing
Some pyd
_decimal.pyd
gi._gi_cairo.pyd
gi.overrides._gi_gst.pyd
lxml.objectify.pyd
win32ui.pyd
No luck...
I then tried the small version you were talking about...
It really is smaller (50Mb instead of 300Mb once frozen)
I replaced 2 files tht made the progression of profiling dependency go further.
libgobject-2.0-0.dll (old version was 272kb, new was 214kb) Used the old version I had
stuck on libgirepository... then I replaced that one too
libgirepository-1.0-1.dll (old version was 158kb, new was 160kb) used the old one
Even if I get better results... app fails again.
I replaced Library.zip by the old version I got.
Now I get a new error about gi/module.py
The py files in override are "autoloaded" when matched typelib loaded. If you just need gtk (hence I advise to use slimgtk) then you only need to include followings from override folder:
Gdk.py
GLib.py
Gio.py
GObject.py
Gtk.py
Pango.py
The error image show that you're mixing glib dll with unmatched version of glib typelib. Do not intermixed aio and slimgtk. While pygobject version are same the rest are different and quite subset of aio.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Damn... I'm close but I can't get to it...
The question also is : is this a cx_freeze problem or a Pygi problem ?
Why did it work with a previous version... and now not.
I would like to stick with the slimgtk as it makes really smaller app. And I don't need much more I think. But what am I doing wrong...
Thanks, really, for your time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Version : pygi-aio-3.18.2_rev5-setup.exe
If this run under pyhon console/spyder, could be a packaging issue. I personally prefer nuitka (for mypaint), see https://sourceforge.net/p/pygobjectwin32/discussion/general/thread/b8d6781c/?limit=25#dfe9
Alternatively try diagnose it with dependency walker and sent me the dwi file so I can help.
Additionally, you may need to inject root path (where dll/pyd collected) to PATH env in your main.py to make file association (or shortcut without working directory) works.
BTW why your cx_freeze exe still call preinstalled python files?
First, thanks for your quick answer. I added the app.dwi file in attachment. Regarding the preinstalled python file... I just can't tell.
Using a previous version of pygi (can't remember which... I uninstalled too fast) Program compiles and work fine...
It's really huge though... it's the next step as I would love to remove unnecessary dependencies.
If it can help resolve... here's the setup.py and the main app.py
Sorry, forgot to tell you to do profiling (F7) before saving the dwi file.
No problem. Here you go.
looks for python3.dll... got python34.dll in the folder...
but then I see python3.dll hooked succesfully... Weird... made a test copying python34.dll > python3.dll... "file not found" error disapears but app crashes anyway...
Guess this line has something to do with the crash :
Judging from the dwi it seems to be unsuccessful gi.import as it stop at glib/girepo dll hooks.
do the *.typelib files exist in your c:\0programmes\librairies\svsapp\build\exe.win-amd64-3.4\lib\girepository-1.0 ?
if not you need to include them in your setup.py from [site-packages]\gnome\lib\girepository-1.0
Files are there
In my setup.py I add
gtk_libs = ['etc', 'lib', 'share']
which is kind pof overkill as it adds everything....Ahh you're right.
I try to reproduce your setup.py but I've difficulty installing docx
I get:
Traceback (most recent call last):
File "setup.py", line 4, in <module>
import docx
File "D:\Python34-64\lib\site-packages\docx.py", line 30, in <module>
from exceptions import PendingDeprecationWarning
ImportError: No module named 'exceptions'
try this one : https://github.com/ChristianTremblay/python-docx.git
Let me know if it's better
That's worked, where I can find svsApp?
svsApp is a large internal app not available online.
You can send me an email (christian dot tremblay at servisys dot com) I'll will send you a copy
Oh I see, I think I will try it without. I only have free ~80Kbps connection at home :D
I think I have passed gi import stage. The thing is cx_freeze miss some files in:
[site-packages]\gi\ [site-packages]\gi\overrides
because of peculiar typelib loading you have to include them all manually in your setup.py
ps: compare it with files inside library.zip
If you need to make it small, consider to use pygi-slimgtk-3.18.2_py27_py34_win32_win64.7z
(you need to uninstall pygi-aio first)
BTW I think you might want to inform cx_freeze devs, as this supposedly their "custom support" feature to handle gobject-introspection not pygi-aio issue.
Hummm... I see that in the Library.zip, there's only init.pyc in gi/overrides and gi/repository
I modified the setup.py file to add those folders to the library.zip...
App crash... attached the dwi
Maybe another subfolder somewhere ?
DllMain(0x0000000063A40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "LIBGOBJECT-2.0-0.DLL" called.
Second chance exception 0xC0000005 (Access Violation) occurred in "MSVCR100.DLL" at address 0x0000000067F6C1B9.
Am I right if saying that this is the next thing we're looking at ? : LIBGOBJECT-2.0-0.DLL
No, I have passed that error.
did you checked [site-packages]\gi*.* ? there is missing files there
Yeah, excuse the late answer. I did a lot of tests using an old working version of svsApp and I have been able to compare both folders.
When I compile svsApp using this newer version of Pygi, there're a lot of files missing.
Library.zip is different but even if I replace it with the working version, app don't work.
Some dll are missing
Some pyd
_decimal.pyd
gi._gi_cairo.pyd
gi.overrides._gi_gst.pyd
lxml.objectify.pyd
win32ui.pyd
No luck...
I then tried the small version you were talking about...
It really is smaller (50Mb instead of 300Mb once frozen)
I replaced 2 files tht made the progression of profiling dependency go further.
libgobject-2.0-0.dll (old version was 272kb, new was 214kb) Used the old version I had
stuck on libgirepository... then I replaced that one too
libgirepository-1.0-1.dll (old version was 158kb, new was 160kb) used the old one
Even if I get better results... app fails again.
I replaced Library.zip by the old version I got.
Now I get a new error about gi/module.py
Here's the new error
'gi.repository.GLib' object has no attribute 'Idle'
Last edit: Christian Tremblay 2016-03-16
Ok you're close now
The py files in override are "autoloaded" when matched typelib loaded. If you just need gtk (hence I advise to use slimgtk) then you only need to include followings from override folder:
Gdk.py
GLib.py
Gio.py
GObject.py
Gtk.py
Pango.py
The error image show that you're mixing glib dll with unmatched version of glib typelib. Do not intermixed aio and slimgtk. While pygobject version are same the rest are different and quite subset of aio.
Damn... I'm close but I can't get to it...
The question also is : is this a cx_freeze problem or a Pygi problem ?
Why did it work with a previous version... and now not.
I would like to stick with the slimgtk as it makes really smaller app. And I don't need much more I think. But what am I doing wrong...
Thanks, really, for your time.