Closed GoogleCodeExporter closed 9 years ago
the comment says that wxversion will not work in the frozen binary that is
created with pyinstaller, it throws an exception, so if wxversion fails then i
assume that it is the frozen windows binary and it should use the wx that
happens to be available. In all other cases it should use 2.8
I intentionally base it on wxpython 2.8 because i can't test it with newer
versions here. I am developing on an old Ubuntu Hardy which has python 2.5 and
wx 2.8 you can install wxpython 2.8 without making it the default wx
installation.
Original comment by prof7...@gmail.com
on 14 Jan 2011 at 2:45
wxWidgets and wxPython in MacPorts are not in a very good state. Multiple
versions do not really coexist well. The native UI support in 2.9 is far
superior to that in 2.8.
Original comment by schecko...@gmail.com
on 14 Jan 2011 at 3:07
i see. I wasn't thinking about Mac. These lines were a crude hack to make it
try to use 2.8 if available and the default wx otherwise but I also didn't
really test it. If it worked as intended it *should* have used 2.9 on your
system already but I think I should have another look at the documentation for
wxversion to do this correctly.
The intended logic should have been (but I did it wrong): if it can find 2.8
then use 2.8 and otherwise just use the default version. I will have to look at
the code again. This should be fairly simple.
You made a lot of patches, I am glad that finally somebody else is looking at
the code and trying to help me with actual patches. I hope that I will find the
time during the weekend to go over it and incorporate all your patches (I have
only limited resources and not much uninterrupted time during the week until
late friday evenig).
Original comment by prof7...@gmail.com
on 14 Jan 2011 at 9:17
currently it does the following:
import wxversion
try:
wxversion.select('2.8')
except:
# continue anyways.
# the pyinstaller binary has problems with wxversion's
# way of searching though the (non-existing) directories.
# so just try to use the wx version that is there.
pass
import wx
if you have wx 2.9 and not 2.8 then I would expect the select() method to throw
an exception (which will be ingnored) and the the import wx will import
whatever is your default version (2.9). This should not produce any further
errors and just work.
What exactly is happening and why does a simple
import wx
not simply import wx 2.9 (which should be yout only and default wx)? What
errors are you getting?
Original comment by prof7...@gmail.com
on 15 Jan 2011 at 10:04
[mb:~] steve$ python
Python 2.7.1 (r271:86832, Jan 13 2011, 17:53:35)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wxversion
>>> try:
... wxversion.select('2.8')
... except:
... pass
...
>>> import wx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named wx
>>>
[mb:~] steve$ python
Python 2.7.1 (r271:86832, Jan 13 2011, 17:53:35)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>>
The wxversion.select('2.8') is throwing an exception. If, after the try/except
block in the first one, I use wxversion.select('2.9') then the import wx
succeeds.
Perhaps the best fix is to use
import wxversion
if wxversion.checkInstalled('2.8'):
wxversion.select('2.8')
Original comment by schecko...@gmail.com
on 15 Jan 2011 at 10:27
Oops, that should be
import wxversion
if wxversion.checkInstalled('2.8'):
wxversion.select('2.8')
import wx
Original comment by schecko...@gmail.com
on 15 Jan 2011 at 10:29
can you check out the latest svn (or svn up your working copy) and try whether
the wx import now works? Also with enabled logging to catch errors during
import?
Original comment by prof7...@gmail.com
on 15 Jan 2011 at 11:21
I have now decided to make all Mac related tweaks and optimizations with 2.9
and recommend 2.9 on Mac but stick with 2.8 on all other platforms, at least
for now (never change a running system)
Original comment by prof7...@gmail.com
on 15 Jan 2011 at 11:24
That works for me!
Original comment by schecko...@gmail.com
on 15 Jan 2011 at 11:51
ok, then i can move on to your next patch, marking this one as fixed.
Original comment by prof7...@gmail.com
on 16 Jan 2011 at 12:24
Original issue reported on code.google.com by
schecko...@gmail.com
on 14 Jan 2011 at 1:42