Project Icon

pywin32

Python 与 Windows API 交互的强大扩展库

pywin32 是一个功能丰富的 Python 扩展库,为开发者提供访问 Windows API 的接口。该库支持多个 Python 版本,通过 pip 即可安装。pywin32 不仅支持基本的 Windows 操作,还能用于开发 Windows 服务和 COM 对象。项目提供详细文档和示例,便于快速上手。对于需要深度利用 Windows 功能的 Python 开发者而言,pywin32 是一个重要工具。

pywin32

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


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

有关最近的重要更改,请查看CHANGES.txt

文档

文档的情况一直不太理想,但现在有了一个在线版本,这是随安装程序一起提供的帮助文件(感谢@ofek!)。其中很多内容都很旧,但有些是自动生成的最新内容。我们非常欢迎大家帮助整理文档!

支持

欢迎为pywin32的所有bug(或疑似bug)创建问题。我们也欢迎针对所有bug或功能提出拉取请求

但是,请不要为一般支持请求或使用本包中模块时遇到的问题或疑问创建GitHub问题,这些问题会被关闭。对于此类问题,请发送邮件到python-win32邮件列表 - 请注意,发帖前必须先订阅该列表。

二进制文件

二进制发布版本已被弃用。 虽然仍然提供,但可以在这里找到它们

通过PIP安装

你应该通过pip安装pywin32 - 例如,

python -m pip install --upgrade pywin32

有一个安装后脚本(见下文),它不应该在虚拟环境中运行;它应该只在"全局"安装中运行。

对于未发布的更改,你可以下载由github actions制作的构建 - 从main分支中选择任何"工作流程"并下载其"构件")

全局安装

在虚拟环境之外,你可能想要安装COM对象、服务等。你可以通过执行以下命令来实现:

python Scripts/pywin32_postinstall.py -install

从Python安装的根目录执行。

如果你以正常权限执行此操作,它将对你的用户全局生效(一些文件将被复制到Python安装的根目录,并对HKCU进行一些更改)。如果你从提升权限的进程执行此操作,它将对机器全局生效(文件将被复制到System32,HKLM将被更改等)

作为Windows服务运行

要作为服务运行,你可能需要从提升权限的命令提示符全局安装pywin32 - 请参见上文。

你还需要确保Python安装在运行服务的用户可以访问的位置,并且能够加载pywintypesXX.dllpythonXX.dll。特别是,LocalSystem帐户通常无法访问你的本地%USER%目录结构。

故障排除

如果你在升级时遇到以下问题:

找不到指定的过程
找不到入口点

这通常意味着以下两种情况之一:

  • 你升级了一个之前已运行安装后脚本的安装。 所以你应该再次运行它:

    python Scripts/pywin32_postinstall.py -install
    

    这将尝试清理旧的冲突安装。

  • 系统中安装了其他pywin32 DLL, 但位置与新的不同。这有时会发生在预装了pywin32的环境中(例如,anaconda?)。

    可能的解决方案是:

    • 运行上面提到的"post_install"脚本。
    • 否则,找到并删除所有其他pywintypesXX.dllpythoncomXX.dll的副本 (其中XX是Python版本 - 例如,"39")

从源代码构建

安装Visual Studio 2019(更新版本可能也可以,但选项可能不同), 选择"使用C++的桌面开发",然后选择以下选项:

  • Windows 10 SDK(最新提供的版本?在撰写时为10.0.18362)
  • "用于...的C++ MFC"
  • 如有必要,安装ARM构建工具。

(免费编译器可能也可以使用,但尚未测试 - 请告诉我你的经验!)

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

python setup.py install

python setup.py --help

一些模块需要冷门的SDK才能构建 - setup.py应该能够成功执行,并优雅地告诉你为什么构建失败 - 如果构建在你的配置下实际失败,请创建一个问题

发布流程

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

  • 确保CHANGES.txt包含所有值得注意的内容。更新标题以反映即将发布的构建版本和日期,提交它。

  • 在setup.py中更新新的构建号。

  • 执行make.bat,等待很长时间,测试生成的构件。

  • 将.whl构件上传到pypi - 我们在推送标签之前这样做,因为它们可能因为无效的README.md而被拒绝。通过py -3.? -m twine upload dist/*XXX*.whl完成。

  • 提交setup.py(以便新的构建号在仓库中),创建一个新的git标签

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

  • 在setup.py中更新新的构建号 + ".1"(例如,123.1),以确保 未来的测试构建不会被误认为是真正的发布版本。

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

  • 向python-win32发送邮件

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号