Shifting to 4.1 (Yes, really!)

33 views
Skip to first unread message

Robin Dunn

unread,
May 24, 2019, 7:26:24 PM5/24/19
to wxpyth...@googlegroups.com
Now that 4.0.5/6 are released I'm going to finally try (again) to shift
my focus to be mostly on wxWidgets 3.1 and wxPython 4.1.

As part of that transition the snapshot builds will be watching and
pulling code from the master branch, and will start having 4.1.x version
numbers.

As mentioned in the other message, I plan on dropping Python 3.4
support. With 3.8 on the horizon it seems like a good time to trim one
off the list. Depending on timing I expect to have at least one official
release of 4.1 that still supports Python 2.7, probably more if 4.1 gets
into a releasable state soon. But I hope to not keep it hanging around
for much longer after 2.7 reaches its end of life.

Also, while I have your attention, I've seen a few messages lately where
people are answering questions and such and are still sharing links to
the Phoenix docs using the snapshots build of the docs, like
https://wxpython.org/Phoenix/docs/html/. I would prefer that the
official release documentation site be shared instead, like
https://docs.wxpython.org/. That will help future-proof the locations if
the Phoenix development things ever get moved or reorganized.  Thanks!

--
Robin Dunn
Software Craftsman
http://wxPython.org

woss

unread,
May 25, 2019, 2:28:59 PM5/25/19
to wxPython-dev

Now that 4.0.5/6 are released I'm going to finally try (again) to shift
my focus to be mostly on wxWidgets 3.1 and wxPython 4.1.

As part of that transition the snapshot builds will be watching and
pulling code from the master branch, and will start having 4.1.x version
numbers.


That's good news, but no ddl-s in win.whl-s.


Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Python36\lib\site-packages\wx\__init__.py", line 17, in <module>
    from wx.core import *
  File "D:\Python36\lib\site-packages\wx\core.py", line 12, in <module>
    from ._core import *
ImportError: DLL load failed: The specified module could not be found.
>>>


Thanks Robin !

woss

Robin Dunn

unread,
May 25, 2019, 8:27:54 PM5/25/19
to wxPython-dev
Please use DependencyWalker on D:\Python36\lib\site-packages\wx\_core.pyd to see what DLLs it is not able to load.

 --
Robin

woss

unread,
May 26, 2019, 4:39:26 AM5/26/19
to wxPython-dev
The result:

DependencyWalker_result.JPG



Missing WXBASE313U_VC140.DLL, WXBASE313U_NET_VC140.DLL, WXMSW313U_CORE_VC140.DLL.

Miss all WXBASE*, WXMSW* DLL file from wxPython-4.1.0a1.dev4069+849c70b0-cp36-cp36m-win32.whl. (and from another too).

woss

Robin Dunn

unread,
May 27, 2019, 12:25:43 AM5/27/19
to wxPython-dev

Missing WXBASE313U_VC140.DLL, WXBASE313U_NET_VC140.DLL, WXMSW313U_CORE_VC140.DLL.

Miss all WXBASE*, WXMSW* DLL file from wxPython-4.1.0a1.dev4069+849c70b0-cp36-cp36m-win32.whl. (and from another too).


Ah, I didn't realize at first that you were talking about the 4.1 snapshot builds. There are some other build problems on Windows that also need to be addressed and are on the TODO list. I've been working mostly on OSX first, because it is usually the most finicky and troublesome.

--
Robin

 
woss

woss

unread,
May 27, 2019, 3:19:55 AM5/27/19
to wxPython-dev
Then I will monitor it continuously. 

Thanx.
woss

Robin Dunn

unread,
May 28, 2019, 12:40:43 AM5/28/19
to wxPython-dev


On Monday, May 27, 2019 at 12:19:55 AM UTC-7, woss wrote:

Then I will monitor it continuously. 

I expect that the next snapshot build should include everything it needs.

--
Robin

woss

unread,
May 28, 2019, 5:58:17 PM5/28/19
to wxPython-dev
I tested fast with my project (circa 40000 lines) and basically everything works fine.

(ComboCtrl/ComboPopup, HtmlListBox, DataViewCtrl/PyDataViewModel/DataViewCustomRenderer, grid.Grid/GridTableBase/GridCellEditor/GridCellRenderer/gridmovers, RichTextCtrl, Printout/PrintPreview/PreviewFrame, SashLayoutWindow, agw.FlatNotebook, html2.WebView)

I had to change the handling of sizers because this wxwidgets version is more stricter. But these are my faults. For example:

wx._core.wxAssertionError: C++ assertion "!(flags & (wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL))" failed at ..\..\src\common\sizer.cpp(2083) in wxBoxSizer::DoInsert(): Horizontal alignment flags are ignored with wxEXPAND

or 

wx._core.wxAssertionError: C++ assertion "!(flags & wxALIGN_CENTRE_HORIZONTAL)" failed at ..\..\src\common\sizer.cpp(2100) in wxBoxSizer::DoInsert(): Horizontal alignment flags are ignored in horizontal sizers

Where I see a little changing thats the DataView Model/CustomRenderer handling. This also comes from strictering and new features.
I still have to work on this a little.

I generated executable with PyInstaller (single file option) and thats works fine too.

But at first sight everything works fine, of course the point is in the details.

Thanx Robin.

woss

P.S.:
I cannot see 'locale' folder in package.

Robin Dunn

unread,
May 29, 2019, 11:31:55 AM5/29/19
to wxPython-dev


On Tuesday, May 28, 2019 at 2:58:17 PM UTC-7, woss wrote:
P.S.:
I cannot see 'locale' folder in package.

Yes, I noticed that too. It should be fixed in the .dev4100 build.

--
Robin

woss

unread,
Sep 20, 2019, 7:49:30 AM9/20/19
to wxPython-dev
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\env\develop\lib\site-packages\wx\__init__.py", line 17, in <module>
    from wx.core import *
  File "D:\env\develop\lib\site-packages\wx\core.py", line 12, in <module>
    from ._core import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
>>>

Robin !

The 'wxPython-4.1.0a1.dev4362+4c3e4296-cp36-cp36m-win32.whl' is packed with 64 bit version of 'msvcp140.dll' and 'vcruntime140.dll'.
Already was wrong the dev4355 too.

Thx, woss

Robin Dunn

unread,
Sep 20, 2019, 12:46:23 PM9/20/19
to wxPython-dev
Thanks. I've been tweaking the buildbot configs and porting to the newest version. I probably dropped a flag somewhere along the way.  It's probably a simple fix, I'll take a look at it later. Please check again in the next build.

--
Robin

woss

unread,
Sep 22, 2019, 1:35:07 PM9/22/19
to wxPython-dev
The dev4363 is not good yet.

Robin Dunn

unread,
Sep 22, 2019, 4:37:53 PM9/22/19
to wxPython-dev
Are you sure? It works here. Maybe the old DLLs didn't get replaced in your upgrade of the package? 

I verified in the build log that the proper files are being copied into the package:

copying C:\PROJECTS\bb2\dist-win32-py36\build\packaging\Py3.5\vcredist\x86\Microsoft.VC140.CRT\msvcp140.dll --> C:\PROJECTS\bb2\dist-win32-py36\build/wx/msvcp140.dll
copying C:\PROJECTS\bb2\dist-win32-py36\build\packaging\Py3.5\vcredist\x86\Microsoft.VC140.CRT\vcruntime140.dll --> C:\PROJECTS\bb2\dist-win32-py36\build/wx/vcruntime140.dll

And installing it in my local Py36-32 environment works as expected:

 >  pip install -U --pre -f https://wxpython.org/Phoenix/snapshot-builds wxPython
Collecting wxPython
    100% |████████████████████████████████| 14.9MB 2.2MB/s
Requirement already satisfied, skipping upgrade: numpy in c:\users\robind\.mypyenv\py36-32\lib\site-packages (from wxPython) (1.16.3)
Requirement already satisfied, skipping upgrade: six in c:\users\robind\.mypyenv\py36-32\lib\site-packages (from wxPython) (1.12.0)
Requirement already satisfied, skipping upgrade: pillow in c:\users\robind\.mypyenv\py36-32\lib\site-packages (from wxPython) (6.0.0)
Installing collected packages: wxPython
  Found existing installation: wxPython 4.0.6
    Uninstalling wxPython-4.0.6:
      Successfully uninstalled wxPython-4.0.6
Successfully installed wxPython-4.1.0a1.dev4363+f76a71a2
You are using pip version 18.1, however version 19.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(Py36-32)cyclops:robind  ~
 >  python -c "import wx; print(wx.version()); a=wx.App(); wx.Frame(None, title='Hello').Show()
; a.Mainloop()"
4.1.0a1.dev4363+f76a71a2 msw (phoenix) wxWidgets 3.1.3
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'App' object has no attribute 'Mainloop'
(Py36-32)cyclops:robind  ~
 >  python -c "import wx; print(wx.version()); a=wx.App(); wx.Frame(None, title='Hello').Show()
; a.MainLoop()"
4.1.0a1.dev4363+f76a71a2 msw (phoenix) wxWidgets 3.1.3

--
Robin

woss

unread,
Sep 22, 2019, 6:24:56 PM9/22/19
to wxPython-dev
My output in a test environment:

R:\>python -m venv r:\test

R:\>r:\test\Scripts\activate

(test) R:\>python -m pip install --upgrade pip
Collecting pip
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-19.2.3

(test) R:\>pip install wxpython
Collecting wxpython
Collecting numpy (from wxpython)
Collecting six (from wxpython)
Collecting pillow (from wxpython)
Installing collected packages: numpy, six, pillow, wxpython
Successfully installed numpy-1.17.2 pillow-6.1.0 six-1.12.0 wxpython-4.0.6

(test) R:\>dir r:\test\Lib\site-packages\wx\*.dll

2019.09.22.  23:38           538 324 freetype6.dll
2019.09.22.  23:38         1 294 335 libcairo-2.dll
2019.09.22.  23:38           143 096 libexpat-1.dll
2019.09.22.  23:38           279 059 libfontconfig-1.dll
2019.09.22.  23:38           230 529 libpng14-14.dll
2019.09.22.  23:38           443 192 msvcp140.dll
2019.09.22.  23:38            85 840 vcruntime140.dll
2019.09.22.  23:38           161 792 wxbase30u_net_vc140.dll
2019.09.22.  23:38         2 104 320 wxbase30u_vc140.dll
2019.09.22.  23:38           140 288 wxbase30u_xml_vc140.dll
2019.09.22.  23:38         1 290 240 wxmsw30u_adv_vc140.dll
2019.09.22.  23:38           407 040 wxmsw30u_aui_vc140.dll
2019.09.22.  23:38         5 027 328 wxmsw30u_core_vc140.dll
2019.09.22.  23:38            65 536 wxmsw30u_gl_vc140.dll
2019.09.22.  23:38           596 480 wxmsw30u_html_vc140.dll
2019.09.22.  23:38           103 936 wxmsw30u_media_vc140.dll
2019.09.22.  23:38           704 512 wxmsw30u_propgrid_vc140.dll
2019.09.22.  23:38             9 728 wxmsw30u_qa_vc140.dll
2019.09.22.  23:38           337 920 wxmsw30u_ribbon_vc140.dll
2019.09.22.  23:38         1 420 800 wxmsw30u_richtext_vc140.dll
2019.09.22.  23:38           946 176 wxmsw30u_stc_vc140.dll
2019.09.22.  23:38           114 176 wxmsw30u_webview_vc140.dll
2019.09.22.  23:38           684 032 wxmsw30u_xrc_vc140.dll
2019.09.22.  23:38           100 352 zlib1.dll

(test) R:\>pip install -U --pre -f https://wxpython.org/Phoenix/snapshot-buildswxPython
Collecting wxPython
Requirement already satisfied, skipping upgrade: pillow in r:\test\lib\site-packages (from wxPython) (6.1.0)
Requirement already satisfied, skipping upgrade: six in r:\test\lib\site-packages (from wxPython) (1.12.0)
Requirement already satisfied, skipping upgrade: numpy in r:\test\lib\site-packages (from wxPython) (1.17.2)
Installing collected packages: wxPython
  Found existing installation: wxPython 4.0.6
    Uninstalling wxPython-4.0.6:
      Successfully uninstalled wxPython-4.0.6
Successfully installed wxPython-4.1.0a1.dev4363+f76a71a2

(test) R:\>dir r:\test\Lib\site-packages\wx\*.dll

2019.09.22.  23:38         2 336 768 libcairo-2.dll
2019.09.22.  23:38           639 656 msvcp140.dll
2019.09.22.  23:38            89 272 vcruntime140.dll
2019.09.22.  23:38           166 400 wxbase313u_net_vc140.dll
2019.09.22.  23:38         2 221 568 wxbase313u_vc140.dll
2019.09.22.  23:38           150 528 wxbase313u_xml_vc140.dll
2019.09.22.  23:38            10 240 wxmsw313u_adv_vc140.dll
2019.09.22.  23:38           541 184 wxmsw313u_aui_vc140.dll
2019.09.22.  23:38         6 959 104 wxmsw313u_core_vc140.dll
2019.09.22.  23:38            81 408 wxmsw313u_gl_vc140.dll
2019.09.22.  23:38           648 704 wxmsw313u_html_vc140.dll
2019.09.22.  23:38           109 568 wxmsw313u_media_vc140.dll
2019.09.22.  23:38           758 272 wxmsw313u_propgrid_vc140.dll
2019.09.22.  23:38            10 240 wxmsw313u_qa_vc140.dll
2019.09.22.  23:38           356 352 wxmsw313u_ribbon_vc140.dll
2019.09.22.  23:38         1 637 376 wxmsw313u_richtext_vc140.dll
2019.09.22.  23:38         1 252 352 wxmsw313u_stc_vc140.dll
2019.09.22.  23:38           130 048 wxmsw313u_webview_vc140.dll
2019.09.22.  23:38           744 448 wxmsw313u_xrc_vc140.dll

(test) R:\>python -c "import wx; print(wx.version()); a=wx.App(); wx.Frame(None, title='Hello').Show(); a.MainLoop()"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "r:\test\lib\site-packages\wx\__init__.py", line 17, in <module>
    from wx.core import *
  File "r:\test\lib\site-packages\wx\core.py", line 12, in <module>
    from ._core import *
ImportError: DLL load failed: %1: is not a valid Win32 application.


The OS version is Windows 7/64 bit, but the Python is 32 bit.

In 4.0.6:
msvcp140.dll           443 192 byte          ver 14.0.23506.0
vcruntime140.dll            85 840 byte          ver 14.0.23506.0

In 4.1.0a1.dev4250 same as 4.0.6:
msvcp140.dll           443 192 byte          ver 14.0.23506.0
vcruntime140.dll            85 840 byte          ver 14.0.23506.0

In 4.1.0a1.dev4363:
msvcp140.dll           639 656 byte          ver 14.0.23506.0
vcruntime140.dll            89 272 byte          ver 14.0.23506.0


If I copy the 4.0.6-s two .dll files, that 4.1.0a1.dev4363 works fine.


The _core.cp36-win32.pyd dev4250 dependencies:

kep2.JPG


And the new:

kep1.JPG



Thx
woss

woss

unread,
Sep 24, 2019, 3:24:34 AM9/24/19
to wxPython-dev
Oops!

The dev4363 files has changed here: https://wxpython.org/Phoenix/snapshot-builds/  
That's already fine.

Thx.

Robin Dunn

unread,
Sep 24, 2019, 11:00:51 AM9/24/19
to wxPython-dev
Yes, I did a complete cleanup of the build machines and a rebuild last night. There were a few of the win32 builders that had some win64 build artifacts in them for some reason, probably from when the wrong Python was being selected when I first transitioned to the new version of buildbot.

Robin
Reply all
Reply to author
Forward
0 new messages