What version of wxPython should I install?

I’ve been a happy user of wxPython for many years and written lots of programs in it that I use daily. (These include a program for keeping a diary and one for backing up the important things on my hard disk.) I didn’t keep up with the newer versions of Python and wxPython because my programs worked fine as they were and I didn’t want to spend time fixing something that wasn’t broken (for me). But two days ago the hard disk on my PC crashed, I’ve bought a new computer, and now I have to install Python and wxPython again.

The computer that died ran Windows 7 (64 bit) with some version of Python 2.7 and wxPython 2.8.12.1. The new one runs Windows 10 (64 bit). I can see the merit in installing the latest versions of Python and wxPython but I’d really like to get my programs running again soon, without having to rewrite parts of them, at least not right now when my life’s in chaos. What should I install?

Thanks for your help.

Patrick Maher

You can get old releases of wxPython Classic (including the 2.8.x series) at:

https://sourceforge.net/projects/wxpython/files/wxPython/

Regards,

James Scholes
https://twitter.com/JamesScholes

Patrick,

Why not install Python 2.7 latest bugfix, 32 bit and then install
wxPython 2.8 series (which is available from Source Forge), with its
docs & demos package for it.

Then install Python 3, current version, 64 bit with wxPython installed
via pip3 install wxPython they can and will coexist happily on Win 10.

The order above is important.

Note that Python 3 also installs the python launcher, py.exe, on windows
and you can manually specify which python to run with py -2 or py -3
plus if you make py your association with .py files, (and pyw with .pyw
files), then a shebang on the first line of your file can be used to
specify which python to use 2 or 3. This would allow you to use your
current files with a single line added at the start of each main file
and also start working on porting to python 3 & wxPython 4.

It is also worth noting that the vast majority of changes in python 3
are backwards compatible via the __future__ and six libraries and the
majority of the changes that you may need to go to wxPython 4 are
tightening up of things that possibly would not have worked reliably
under the older wxPythons. I have several programs that I am happily
porting up that when I test the changes under the older stuff works happily.

···

On 23/09/2017 16:11, Patrick Maher wrote:

I've been a happy user of wxPython for many years and written lots of
programs in it that I use daily. (These include a program for keeping a
diary and one for backing up the important things on my hard disk.) I
didn't keep up with the newer versions of Python and wxPython because my
programs worked fine as they were and I didn't want to spend time fixing
something that wasn't broken (for me). But two days ago the hard disk on
my PC crashed, I've bought a new computer, and now I have to install
Python and wxPython again.

The computer that died ran Windows 7 (64 bit) with some version of
Python 2.7 and wxPython 2.8.12.1. The new one runs Windows 10 (64 bit).
I can see the merit in installing the latest versions of Python and
wxPython but I'd really like to get my programs running again soon,
without having to rewrite parts of them, at least not right now when my
life's in chaos. What should I install?

Thanks for your help.
Patrick Maher

--

--
Steve (Gadget) Barnes
Any opinions in this message are my personal opinions and do not reflect
those of my employer.

---
This email has been checked for viruses by AVG.

I now have Python 2.7.14 and wxPython 2.8.12.1 (both 64-bit) installed on my new Windows 10 computer and everything seems to be working fine.

The reason I asked this question was that my wife was running my wxPython programs with the same versions of Python and wxPython as me and, when she got a Windows 10 computer, she had several problems with them that I didn’t have on my Windows 7 machine. One was that whenever she ran one of my programs, Windows would ask her if she wanted to allow pythonw.exe to make changes on the computer. Another was that my diary program, which is supposed to open at the same size and position as when it was closed, always opened full screen initially. So I thought that I would need to use newer versions of Python and/or wxPython when I moved to Windows 10, in order to avoid these problems. However, my wife is now running the same versions of Python and wxPython that I have installed and she still has the same problems. So her problems are not caused by the versions of Python and wxPython that she’s using. She doesn’t keep up to date with Windows updates (because they sometimes create problems that didn’t exist before), so her problems may be caused by her version of Windows 10.

Thanks to Gadget Steve for his very helpful advice. Before seeing that, I had installed wxPython 3.0.3.0, which generally worked for me but the wx.CalendarCtrl in my diary program wasn’t showing the dates in the colors it was supposed to. That was fixed by going back to 2.8.12.1. I will also follow Steve’s advice for migrating in an orderly way to Python 3 and wxPython 4.

Patrick

Patrick,

It sounds like your wife has the software installed in somewhere like
C:\Program Files an it is storing some values into the local directory
(hence the prompt for permission to run).

How are you storing the position & size of the Window? If you are trying
to save it to .\my_config.something then the antivirus & system
protection may be preventing it being saved. Take a look at
https://wxpython.org/Phoenix/docs/html/wx.FileConfig.html#wx-fileconfig
and
https://wxpython.org/Phoenix/docs/html/wx.StandardPaths.html#wx.StandardPaths.GetLocalDataDir
(these are not specific to Phoenix they have been around for years).

It is much safer to use Standard Paths than to use a path that you made
up - we have lots of problems at work with a legacy program (in VB6)
that uses "C:\Program Files\...." to store data & configurations.

···

On 25/09/2017 16:09, Patrick Maher wrote:

I now have Python 2.7.14 and wxPython 2.8.12.1 (both 64-bit) installed
on my new Windows 10 computer and everything seems to be working fine.

The reason I asked this question was that my wife was running my
wxPython programs with the same versions of Python and wxPython as me
and, when she got a Windows 10 computer, she had several problems with
them that I didn't have on my Windows 7 machine. One was that whenever
she ran one of my programs, Windows would ask her if she wanted to allow
pythonw.exe to make changes on the computer. Another was that my diary
program, which is supposed to open at the same size and position as when
it was closed, always opened full screen initially. So I thought that I
would need to use newer versions of Python and/or wxPython when I moved
to Windows 10, in order to avoid these problems. However, my wife is now
running the same versions of Python and wxPython that I have installed
and she still has the same problems. So her problems are not caused by
the versions of Python and wxPython that she's using. She doesn't keep
up to date with Windows updates (because they sometimes create problems
that didn't exist before), so her problems may be caused by her version
of Windows 10.

Thanks to Gadget Steve for his very helpful advice. Before seeing that,
I had installed wxPython 3.0.3.0, which generally worked for me but the
wx.CalendarCtrl in my diary program wasn't showing the dates in the
colors it was supposed to. That was fixed by going back to 2.8.12.1. I
will also follow Steve's advice for migrating in an orderly way to
Python 3 and wxPython 4.

Patrick

--
You received this message because you are subscribed to the Google
Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to wxpython-users+unsubscribe@googlegroups.com
<mailto:wxpython-users+unsubscribe@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
Steve (Gadget) Barnes
Any opinions in this message are my personal opinions and do not reflect
those of my employer.

---
This email has been checked for viruses by AVG.

Steve,

All my programs store all their data in the directory where the program is located, which is always a subdirectory of c:\Moncy, e.g., the diary program is c:\Moncy\Diary\diary.pyc. The diary program makes a backup of
the database when it starts up, but my other programs don’t write anything at startup and my wife gets the message about allowing pythonw.exe to make changes when they start too. Also, the file locations are the same on my wife’s computer as on mine but I don’t get this message (and our User Account Control settings are the same). So the problem isn’t caused by file locations. But thanks for your interest.

Patrick