Does wxPython 4.0.6 must also install numpy?

I’m still relying on Windows 7 32-bit Python 3.4.4 + pyinstaller to package my application as an executable file, due to MSVC library inclusion issues that started with Python 3.5.

wxPython 4.0.6 attempts to install numpy too, which 4.0.4 didn’t.

numpy 1.16.3 installs OK on my Python 3.7, but not on my Python 3.4.4.

Is numpy a must? If not, how do I instruct 4.0.6 not to install it?

I added it to the install dependencies list because it is imported by some commonly used modules in the wx.lib package. Some others didn’t seem to get as much use so I didn’t add some other dependencies, but numpy seemed important enough to do so.

You can tell pip to ignore dependencies with the --no-deps install option. Note that there are not any constraints on the dependency so if there is an earlier version of numpy that will work in your environment then you can explicitly use that version number on the pip command line or in your requirements file.

BTW, I’m going to be dropping 3.4 support with the wxPython 4.1.x series. It will probably remain compatible, but I’m going to be removing those builds and won’t be putting in any more effort specifically for 3.4 if I can help it. I used the newest PyInstaller with Python 3.5 earlier this week (although not a wxPython project) and it did a very good job of collecting the proper MSVC runtime libs. You may want to give it another try.

···

On Friday, May 24, 2019 at 2:26:19 PM UTC-7, ABC wrote:

I’m still relying on Windows 7 32-bit Python 3.4.4 + pyinstaller to package my application as an executable file, due to MSVC library inclusion issues that started with Python 3.5.

wxPython 4.0.6 attempts to install numpy too, which 4.0.4 didn’t.

numpy 1.16.3 installs OK on my Python 3.7, but not on my Python 3.4.4.

Is numpy a must? If not, how do I instruct 4.0.6 not to install it?

Robin

Thank you Robin. Running pip with “–no-deps” worked fine, and I was able to install wxPython 4.0.6 on Python 3.4.4.

As for pyinstaller:

I’m still building my app (as an all-inclusive executable file) on Windows 7 32-bit, to achieve the widest audience for my application.

An executable built with Python 3.7.3 crashes on Win7 showing ucrtbase.DLL as the source of the problem.

On Win10 it won’t even show me any message…

If you also build on Win7, I’d appreciate if you can share how you successfully use pyinstaller with Python 3.5 (and beyond).

As much as I tried, I couldn’t understand the instructions on pyinstaller’s site on how to include the required new MSVC libraries.

···

On Friday, May 24, 2019 at 3:58:02 PM UTC-7, Robin Dunn wrote:

On Friday, May 24, 2019 at 2:26:19 PM UTC-7, ABC wrote:

I’m still relying on Windows 7 32-bit Python 3.4.4 + pyinstaller to package my application as an executable file, due to MSVC library inclusion issues that started with Python 3.5.

wxPython 4.0.6 attempts to install numpy too, which 4.0.4 didn’t.

numpy 1.16.3 installs OK on my Python 3.7, but not on my Python 3.4.4.

Is numpy a must? If not, how do I instruct 4.0.6 not to install it?

I added it to the install dependencies list because it is imported by some commonly used modules in the wx.lib package. Some others didn’t seem to get as much use so I didn’t add some other dependencies, but numpy seemed important enough to do so.

You can tell pip to ignore dependencies with the --no-deps install option. Note that there are not any constraints on the dependency so if there is an earlier version of numpy that will work in your environment then you can explicitly use that version number on the pip command line or in your requirements file.

BTW, I’m going to be dropping 3.4 support with the wxPython 4.1.x series. It will probably remain compatible, but I’m going to be removing those builds and won’t be putting in any more effort specifically for 3.4 if I can help it. I used the newest PyInstaller with Python 3.5 earlier this week (although not a wxPython project) and it did a very good job of collecting the proper MSVC runtime libs. You may want to give it another try.

Robin

My other project didn’t use the single file executable option, so that may be part of what’s giving you trouble. We just use PyInstaller’s default, which is to just bundle the Python parts and then gather the necessary binary files into the same folder. The intent is to let you make a Zip or use some setup.exe generation tool to bundle those files into one for distribution.

My recollection about that other project was a little off, it still building the product using Python 2.7, but it is doing it on Windows 7. I just tried building wxPython’s superdoodle sample (https://github.com/wxWidgets/Phoenix/tree/wxPy-4.0.x/samples/doodle) on a Win7 machine using PyInstaller and Python 3.6 and although I didn’t go as far as testing on other machines, it seems to be doing the right thing.

···

On Saturday, May 25, 2019 at 12:20:41 PM UTC-7, ABC wrote:

Thank you Robin. Running pip with “–no-deps” worked fine, and I was able to install wxPython 4.0.6 on Python 3.4.4.

As for pyinstaller:

I’m still building my app (as an all-inclusive executable file) on Windows 7 32-bit, to achieve the widest audience for my application.

An executable built with Python 3.7.3 crashes on Win7 showing ucrtbase.DLL as the source of the problem.

On Win10 it won’t even show me any message…

If you also build on Win7, I’d appreciate if you can share how you successfully use pyinstaller with Python 3.5 (and beyond).

As much as I tried, I couldn’t understand the instructions on pyinstaller’s site on how to include the required new MSVC libraries.

Robin