Skip to main content

用于窗口扩展的 Python

项目描述

pywin32

CI PyPI - 版本 PyPI - Python 版本 PyPI - 下载 许可证 - PSF-2.0


这是 Python for Win32 (pywin32) 扩展的自述文件,它提供了对 Python 中许多 Windows API 的访问。

请参阅CHANGES.txt了解最近的显着变化。

仅支持 Python 3。如果你想要 Python 2 支持,你想要构建228.

文档

文档是一个漫长而悲伤的故事,但现在有一个在线版本 的安装程序附带的帮助文件(感谢@ofek!)。其中很多都是非常古老的,但有些是自动生成的并且是最新的。很想帮助解开文档!

支持

随时为 pywin32 中的所有错误(或可疑错误)打开问题。 也欢迎所有错误或功能的拉取请求。

但是,请不要为一般支持请求或使用此包中的模块的问题或问题打开 github 问题 - 它们将被关闭。对于此类问题,请通过电子邮件发送 python-win32 邮件列表- 请注意,您必须在发布之前订阅该列表。

二进制文件

到目前为止,使用 pywin32 最简单的方法是从最新版本中获取二进制文件

请注意,3.10 及更高版本没有 32 位二进制安装程序 - 请参阅 此 github 问题

通过 PIP 安装

您可以通过 pip 安装 pywin32:

点安装 pywin32

如果您在升级时遇到任何问题(例如,“找不到模块”错误或类似错误),您应该执行:

python 脚本/pywin32_postinstall.py -install

这将进行一些小的尝试来清理旧的冲突安装。

请注意,如果要将 pywin32 用于“系统范围”功能,例如注册 COM 对象或实现 Windows 服务,则必须从提升的(即“以管理员身份运行”)命令提示符运行该命令。

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

一个非常常见的报告是人们安装了 pywin32,但许多导入失败并出现与上述类似的错误。

在几乎所有情况下,这往往意味着您的系统中安装了其他 pywin32 DLL,但与新的位置不同。这有时会发生在预装 pywin32 的环境中(例如,anaconda?)。

可能的解决方案是:

  • 运行上面记录的“post_install”脚本。

  • pywintypesXX.dll否则,查找并删除and的所有其他副本( Python 版本pythoncomXX.dll 在哪里- 例如,“39”)XX

作为 Windows 服务运行

默认情况下,现代 Python 安装程序不会以适合作为服务运行的方式安装 Python,尤其是对于其他用户。

  • 确保 Python 安装在运行服务的用户可以访问安装并能够加载pywintypesXX.dllpythonXX.dll.

  • 手动pythonservice.exesite-packages/win32目录复制到与这些 DLL 相同的位置。

从源头构建

最近简化了从源代码构建 - 您只需要安装 Visual Studio 和 Windows 10 SDK(免费编译器可能也可以工作,但尚未经过测试 - 让我知道您的经验!)

setup.py是一个标准的 distutils 构建脚本。你可能想要:

python setup.py 安装

或者

python setup.py --help

您可以setup.py不带任何参数运行以查看有关依赖项的特定信息。一个普通的 MSVC 安装应该能够构建大多数扩展并列出由于缺少库而无法构建的任何扩展 - 如果构建实际上因您的配置而失败,请打开一个问题

发布流程

制作新版本时执行以下步骤 - 这主要是为了形成一个清单,所以 mhammond 不会忘记做什么:)

  • 确保 CHANGES.txt 包含所有值得注意的内容,然后提交。

  • 使用新的内部版本号更新 setup.py。

  • 执行 build.bat,永远等待,测试工件。

  • 将 .whl 工件上传到 pypi - 我们在推送标签之前执行此操作,因为它们可能会因无效的README.md. 通过 完成py -3.5 -m twine upload dist/*XXX*.whl

  • 提交 setup.py (所以新的内部版本号在 repo 中),创建一个新的 git 标签

  • 将 .exe 安装程序上传到 github。

  • 使用新版本号 + “.1”(例如 123.1)更新 setup.py,以确保未来的测试版本不会被误认为是真正的版本。

  • 确保所有内容都推送到 github,包括标签(即 git push --tags

  • 发送邮件到 python-win32

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置发行版

pywin32-304-cp311-cp311-win_arm64.whl (11.2 MB 查看哈希

已上传 cp311

pywin32-304-cp311-cp311-win_amd64.whl (12.1 MB 查看哈希

已上传 cp311

pywin32-304-cp311-cp311-win32.whl (11.0 MB 查看哈希

已上传 cp311

pywin32-304-cp310-cp310-win_arm64.whl (11.2 MB 查看哈希

已上传 cp310

pywin32-304-cp310-cp310-win_amd64.whl (12.1 MB 查看哈希

已上传 cp310

pywin32-304-cp310-cp310-win32.whl (11.0 MB 查看哈希

已上传 cp310

pywin32-304-cp39-cp39-win_amd64.whl (12.2 MB 查看哈希

已上传 cp39

pywin32-304-cp39-cp39-win32.whl (11.0 MB 查看哈希

已上传 cp39

pywin32-304-cp38-cp38-win_amd64.whl (12.3 MB 查看哈希

已上传 cp38

pywin32-304-cp38-cp38-win32.whl (11.1 MB 查看哈希

已上传 cp38

pywin32-304-cp37-cp37m-win_amd64.whl (12.2 MB 查看哈希

已上传 cp37

pywin32-304-cp37-cp37m-win32.whl (11.1 MB 查看哈希

已上传 cp37

pywin32-304-cp36-cp36m-win_amd64.whl (12.2 MB 查看哈希

已上传 cp36

pywin32-304-cp36-cp36m-win32.whl (11.1 MB 查看哈希

已上传 cp36