Skip to main content

pywin32

CI PyPI - Version PyPI - Python Version PyPI - Downloads License - PSF-2.0


This is the readme for the Python for Win32 (pywin32) extensions, which provides access to many of the Windows APIs from Python.

See CHANGES.txt for recent notable changes.

Only Python 3 is supported. If you want Python 2 support, you want build 228.

Docs

The docs are a long and sad story, but there's now an online version of the helpfile that ships with the installers (thanks @ofek!). Lots of that is very old, but some is auto-generated and current. Would love help untangling the docs!

Support

Feel free to open issues for all bugs (or suspected bugs) in pywin32. pull-requests for all bugs or features are also welcome.

However, please do not open github issues for general support requests, or for problems or questions using the modules in this package - they will be closed. For such issues, please email the python-win32 mailing list - note that you must be subscribed to the list before posting.

Binaries

Binary releases are deprecated. While they are still provided, find them here

Installing via PIP

You should install pywin32 via pip - eg,

python -m pip install --upgrade pywin32

If you encounter any problems when upgrading (eg, "module not found" errors or similar), you should execute:

python Scripts/pywin32_postinstall.py -install

This will make some small attempts to cleanup older conflicting installs.

Note that if you want to use pywin32 for "system wide" features, such as registering COM objects or implementing Windows Services, then you must run that command from an elevated (ie, "Run as Administrator) command prompt.

For unreleased changes, you can download builds made by github actions - choose any "workflow" from the main branch and download its "artifacts")

The specified procedure could not be found / Entry-point not found Errors?

A very common report is that people install pywin32, but many imports fail with errors similar to the above.

In almost all cases, this tends to mean there are other pywin32 DLLs installed in your system, but in a different location than the new ones. This sometimes happens in environments that come with pywin32 pre-shipped (eg, anaconda?).

The possible solutions are:

  • Run the "post_install" script documented above.

  • Otherwise, find and remove all other copies of pywintypesXX.dll and pythoncomXX.dll (where XX is the Python version - eg, "39")

Running as a Windows Service

Modern Python installers do not, by default, install Python in a way that is suitable for running as a service, particularly for other users.

  • Ensure Python is installed in a location where the user running the service has access to the installation and is able to load pywintypesXX.dll and pythonXX.dll.

  • Manually copy pythonservice.exe from the site-packages/win32 directory to the same place as these DLLs.

Building from source

Install Visual Studio 2019 (later probably works, but options might be different), select "Desktop Development with C++", then the following options:

  • Windows 10 SDK (latest offered I guess? At time of writing, 10.0.18362)
  • "C++ for MFC for ..."
  • ARM build tools if necessary.

(the free compilers probably work too, but haven't been tested - let me know your experiences!)

setup.py is a standard distutils build script, so you probably want:

python setup.py install

or

python setup.py --help

Some modules need obscure SDKs to build - setup.py should succeed, gracefully telling you why it failed to build them - if the build actually fails with your configuration, please open an issue.

Release process

The following steps are performed when making a new release - this is mainly to form a checklist so mhammond doesn't forget what to do :)

  • Ensure CHANGES.txt has everything worth noting, commit it.

  • Update setup.py with the new build number.

  • Execute build.bat, wait forever, test the artifacts.

  • Upload .whl artifacts to pypi - we do this before pushing the tag because they might be rejected for an invalid README.md. Done via py -3.? -m twine upload dist/*XXX*.whl.

  • Commit setup.py (so the new build number is in the repo), create a new git tag

  • Upload the .exe installers to github.

  • Update setup.py with the new build number + ".1" (eg, 123.1), to ensure future test builds aren't mistaken for the real release.

  • Make sure everything is pushed to github, including the tag (ie, git push --tags)

  • Send mail to python-win32

Release files for pywin32 306

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pywin32 306
File
pywin32-306-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
pywin32-306-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pywin32-306-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pywin32-306-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
pywin32-306-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pywin32-306-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pywin32-306-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pywin32-306-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
pywin32-306-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pywin32-306-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
pywin32-306-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pywin32-306-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
pywin32-306-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
pywin32-306-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details

Total release size: 127.8 MB

Release files / pywin32-306-cp312-cp312-win_arm64.whl

Download URL pywin32-306-cp312-cp312-win_arm64.whl
Size 10.4 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040
BLAKE2b-256 checksum
How to use checksums
1c43e3444dc9a12f8365d9603c2145d16bf0a2f8180f343cf87be47f5579e547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp312-cp312-win_amd64.whl

Download URL pywin32-306-cp312-cp312-win_amd64.whl
Size 9.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e
BLAKE2b-256 checksum
How to use checksums
831c25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp312-cp312-win32.whl

Download URL pywin32-306-cp312-cp312-win32.whl
Size 8.5 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b
BLAKE2b-256 checksum
How to use checksums
149117e016d5923e178346aabda3dfec6629d1a26efe587d19667542105cf0a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp311-cp311-win_arm64.whl

Download URL pywin32-306-cp311-cp311-win_arm64.whl
Size 10.4 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a
BLAKE2b-256 checksum
How to use checksums
9120f744bff1da8f43388498503634378dbbefbe493e65675f2cc52f7185c2c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp311-cp311-win_amd64.whl

Download URL pywin32-306-cp311-cp311-win_amd64.whl
Size 9.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e
BLAKE2b-256 checksum
How to use checksums
7e9ead6b1ae2a5ad1066dc509350e0fbf74d8d50251a51e420a2a8feaa0cecbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp311-cp311-win32.whl

Download URL pywin32-306-cp311-cp311-win32.whl
Size 8.5 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407
BLAKE2b-256 checksum
How to use checksums
8b1efc18ad83ca553e01b97aa8393ff10e33c1fb57801db05488b83282ee9913
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp310-cp310-win_amd64.whl

Download URL pywin32-306-cp310-cp310-win_amd64.whl
Size 9.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8
BLAKE2b-256 checksum
How to use checksums
d3d6891894edec688e72c2e308b3243fad98b4066e1839fd2fe78f04129a9d31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp310-cp310-win32.whl

Download URL pywin32-306-cp310-cp310-win32.whl
Size 8.5 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d
BLAKE2b-256 checksum
How to use checksums
08dc28c668097edfaf4eac4617ef7adf081b9cf50d254672fcf399a70f5efc41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp39-cp39-win_amd64.whl

Download URL pywin32-306-cp39-cp39-win_amd64.whl
Size 9.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4
BLAKE2b-256 checksum
How to use checksums
1cf724d8ed4fd9c43b90354df7764f81f0dd5e623f9a50f1538f90fe085d6dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp39-cp39-win32.whl

Download URL pywin32-306-cp39-cp39-win32.whl
Size 8.6 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802
BLAKE2b-256 checksum
How to use checksums
7e7f419c4fcadcaa374a0ae41cbdf6c3a81452892dd6c523aea629d17e49146e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp38-cp38-win_amd64.whl

Download URL pywin32-306-cp38-cp38-win_amd64.whl
Size 9.4 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0
BLAKE2b-256 checksum
How to use checksums
fa80a6b22e031590cc5f4fcbd5bf4bcf63a9dabce9d59065f53add99a8caaec5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp38-cp38-win32.whl

Download URL pywin32-306-cp38-cp38-win32.whl
Size 8.6 MB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a
BLAKE2b-256 checksum
How to use checksums
0e57c3ec32b498f24a2392404d1f0fd29f47a3f7339d7d579df7a0560cff337c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp37-cp37m-win_amd64.whl

Download URL pywin32-306-cp37-cp37m-win_amd64.whl
Size 9.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36
BLAKE2b-256 checksum
How to use checksums
80e608192cb5728a6ffdb70ea990d9a1351b320d31a751bb463e652d9e05e7aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release files / pywin32-306-cp37-cp37m-win32.whl

Download URL pywin32-306-cp37-cp37m-win32.whl
Size 8.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65
BLAKE2b-256 checksum
How to use checksums
28196b8f416ff02132c404042f251eb90a41d15abe677481fcff22077e943c6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3+

Release history Release notifications | RSS feed

312

21 release files

311

20 release files

310

16 release files

309

16 release files

308

18 release files

307

18 release files

This release

306 This release

14 release files

305

14 release files

304

14 release files

303

12 release files

302

10 release files

301

10 release files

300

10 release files

228

12 release files

227

12 release files

226

12 release files

225

12 release files

224

8 release files

223

8 release files

222

7 release files

214

210

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page