From da977e70a3ce636248ac5f34d19b90ea77cedf2c Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Sat, 22 Oct 2022 17:42:06 +1100 Subject: [PATCH] Deprecate bdist_wininst .exe installers (#1939) --- CHANGES.txt | 4 ++++ README.md | 8 +++----- pywin32_postinstall.py | 9 +++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e322d05552..2fc54aba0e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,9 +8,13 @@ All changes can be found via git - eg, for all changes afer a build: or https://github.com/mhammond/pywin32/compare/b3xx...main +As of build 305, installation .exe files have been deprecated; see +https://mhammond.github.io/pywin32_installers.html. Coming in build 305, as yet unreleased -------------------------------------- +* Installation .exe files were deprecated. + * @kxrob put a lot of work towards removing use of the deprecated Unicode API so we can build on Python 3.12. This should be largely invisible, but please report any unintended consequences. diff --git a/README.md b/README.md index ce9fd47be8..dbe326c764 100644 --- a/README.md +++ b/README.md @@ -33,14 +33,12 @@ closed. For such issues, please email the note that you must be subscribed to the list before posting. ## Binaries -By far the easiest way to use pywin32 is to grab binaries from the [most recent release](https://github.com/mhammond/pywin32/releases) - -Note that there are no 32-bit binary installers for 3.10 and later - see -[this github issue](https://github.com/mhammond/pywin32/issues/1805) +[Binary releases are deprecated.](https://mhammond.github.io/pywin32_installers.html) +While they are still provided, [find them here](https://github.com/mhammond/pywin32/releases) ## Installing via PIP -You can install pywin32 via pip: +You should install pywin32 via pip: > pip install pywin32 If you encounter any problems when upgrading (eg, "module not found" errors or similar), you diff --git a/pywin32_postinstall.py b/pywin32_postinstall.py index d050287bb9..a2aa4b1e58 100644 --- a/pywin32_postinstall.py +++ b/pywin32_postinstall.py @@ -579,6 +579,15 @@ def install(lib_dir): pass print("The pywin32 extensions were successfully installed.") + if is_bdist_wininst: + # Open a web page with info about the .exe installers being deprecated. + import webbrowser + + try: + webbrowser.open("https://mhammond.github.io/pywin32_installers.html") + except webbrowser.Error: + print("Please visit https://mhammond.github.io/pywin32_installers.html") + def uninstall(lib_dir): # First ensure our system modules are loaded from pywin32_system, so