You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用winshell模块报错:找不到win32模块,pip安装失败求解决

问题描述

我写了一段读取回收站内容的Python脚本:

import winshell

r = list(winshell.recycle_bin())

for index, value in enumerate(r):
    print(index, value.original_filename())

运行时出现错误:

ModuleNotFoundError: No module named 'win32'

尝试执行pip install win32时,又遇到:

ERROR: Could not find a version that satisfies the requirement win32 (from versions: none)
ERROR: No matching distribution found for win32

我有几个疑问:

  • winshell为什么依赖一个不存在的模块?
  • 有没有其他替代模块可用?
  • 该怎么解决这个问题?
解决方法

1. 理清依赖问题

winshell依赖的不是名为win32的PyPI包,而是pywin32库的内部模块(如win32api、win32con)。PyPI上没有叫win32的公开包,直接用pip install win32自然会失败。

2. 安装正确的依赖包

执行以下命令安装pywin32:

pip install pywin32

如果安装后仍报错,可能需要手动运行pywin32的后置安装脚本(通常位于Python安装目录的Scripts文件夹下):

python pywin32_postinstall.py -install

3. 替代方案

如果不想使用winshell,推荐用更轻量、跨平台的send2trash模块,它同样支持读取回收站内容:
首先安装模块:

pip install send2trash

读取回收站的示例代码:

from send2trash import recycle_bin

with recycle_bin() as rb:
    for item in rb:
        print(item.original_path, item.deletion_date)

另外,也可以直接用ctypes调用Windows原生API操作回收站,但代码会更繁琐,适合需要高度自定义的场景。

内容的提问来源于stack exchange,提问作者Imaginary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:40:27