Initial Commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,154 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: pywin32
|
||||
Version: 306
|
||||
Summary: Python for Window Extensions
|
||||
Home-page: https://github.com/mhammond/pywin32
|
||||
Author: Mark Hammond (et al)
|
||||
Author-email: mhammond@skippinet.com.au
|
||||
License: PSF
|
||||
Platform: UNKNOWN
|
||||
Classifier: Environment :: Win32 (MS Windows)
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: Python Software Foundation License
|
||||
Classifier: Operating System :: Microsoft :: Windows
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Description-Content-Type: text/markdown
|
||||
|
||||
# pywin32
|
||||
|
||||
[](https://github.com/mhammond/pywin32/actions?query=workflow%3ACI)
|
||||
[](https://pypi.org/project/pywin32)
|
||||
[](https://pypi.org/project/pywin32)
|
||||
[](https://pypi.org/project/pywin32)
|
||||
[](https://spdx.org/licenses/PSF-2.0.html)
|
||||
|
||||
-----
|
||||
|
||||
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](https://github.com/mhammond/pywin32/blob/master/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](https://mhammond.github.io/pywin32/)
|
||||
of the helpfile that ships with the installers (thanks [@ofek](https://github.com/mhammond/pywin32/pull/1774)!).
|
||||
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](https://github.com/mhammond/pywin32/issues) for
|
||||
all bugs (or suspected bugs) in pywin32. [pull-requests](https://github.com/mhammond/pywin32/pulls)
|
||||
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](http://mail.python.org/mailman/listinfo/python-win32) -
|
||||
note that you must be subscribed to the list before posting.
|
||||
|
||||
## Binaries
|
||||
[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 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](https://github.com/mhammond/pywin32/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](https://github.com/mhammond/pywin32/issues).
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.37.1)
|
||||
Root-Is-Purelib: false
|
||||
Tag: cp39-cp39-win_amd64
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
PyISAPI_loader
|
||||
_win32sysloader
|
||||
_winxptheme
|
||||
adodbapi
|
||||
adsi
|
||||
authorization
|
||||
axcontrol
|
||||
axdebug
|
||||
axscript
|
||||
bits
|
||||
dde
|
||||
directsound
|
||||
exchange
|
||||
exchdapi
|
||||
ifilter
|
||||
internet
|
||||
isapi
|
||||
mapi
|
||||
mmapfile
|
||||
odbc
|
||||
perfmon
|
||||
perfmondata
|
||||
propsys
|
||||
pythoncom
|
||||
pythonwin
|
||||
pywintypes
|
||||
servicemanager
|
||||
shell
|
||||
taskscheduler
|
||||
timer
|
||||
win32\lib\afxres
|
||||
win32\lib\commctrl
|
||||
win32\lib\dbi
|
||||
win32\lib\mmsystem
|
||||
win32\lib\netbios
|
||||
win32\lib\ntsecuritycon
|
||||
win32\lib\pywin32_bootstrap
|
||||
win32\lib\pywin32_testutil
|
||||
win32\lib\pywintypes
|
||||
win32\lib\rasutil
|
||||
win32\lib\regcheck
|
||||
win32\lib\regutil
|
||||
win32\lib\sspi
|
||||
win32\lib\sspicon
|
||||
win32\lib\win2kras
|
||||
win32\lib\win32con
|
||||
win32\lib\win32cryptcon
|
||||
win32\lib\win32evtlogutil
|
||||
win32\lib\win32gui_struct
|
||||
win32\lib\win32inetcon
|
||||
win32\lib\win32netcon
|
||||
win32\lib\win32pdhquery
|
||||
win32\lib\win32pdhutil
|
||||
win32\lib\win32rcparser
|
||||
win32\lib\win32serviceutil
|
||||
win32\lib\win32timezone
|
||||
win32\lib\win32traceutil
|
||||
win32\lib\win32verstamp
|
||||
win32\lib\winerror
|
||||
win32\lib\winioctlcon
|
||||
win32\lib\winnt
|
||||
win32\lib\winperf
|
||||
win32\lib\winxptheme
|
||||
win32api
|
||||
win32clipboard
|
||||
win32com
|
||||
win32comext
|
||||
win32console
|
||||
win32cred
|
||||
win32crypt
|
||||
win32event
|
||||
win32evtlog
|
||||
win32file
|
||||
win32gui
|
||||
win32help
|
||||
win32inet
|
||||
win32job
|
||||
win32lz
|
||||
win32net
|
||||
win32pdh
|
||||
win32pipe
|
||||
win32print
|
||||
win32process
|
||||
win32profile
|
||||
win32ras
|
||||
win32security
|
||||
win32service
|
||||
win32trace
|
||||
win32transaction
|
||||
win32ts
|
||||
win32ui
|
||||
win32uiole
|
||||
win32wnet
|
||||
winxpgui
|
||||
Reference in New Issue
Block a user