Py2exe ImportError:没有名为 shell 的模块

2023-11-29

我的代码是:

from win32com.shell import shellcon
from win32com.shell.shell import ShellExecuteEx

它在 IDLE 中工作正常,但在我生成 exe 后出现错误:

File "Myfile.py", line 1, in <module>
ImportError: No module named shell

为什么py2exe无法导入win32com.shell?


以下内容可能会帮助您:py2exe.org win32com.shell

该链接将问题描述为 win32com 执行了一些“魔法”以允许在运行时加载 COM 扩展。这些扩展位于 site-packages 的 win32comext 目录中,无法直接加载。 win32com 的 __path__ 变量被修改为同时指向 win32com 和 win32comext。对 __path__ 的运行时更改会导致 py2exe 的模块查找器出错,因此必须提前告知。

以下是代码,据说来自处理相同问题的 SpamBayes 源代码,因此类似的方法可能适合您:

# ...
# ModuleFinder can't handle runtime changes to __path__, but win32com uses them
try:
    # py2exe 0.6.4 introduced a replacement modulefinder.
    # This means we have to add package paths there, not to the built-in
    # one.  If this new modulefinder gets integrated into Python, then
    # we might be able to revert this some day.
    # if this doesn't work, try import modulefinder
    try:
        import py2exe.mf as modulefinder
    except ImportError:
        import modulefinder
    import win32com, sys
    for p in win32com.__path__[1:]:
        modulefinder.AddPackagePath("win32com", p)
    for extra in ["win32com.shell"]: #,"win32com.mapi"
        __import__(extra)
        m = sys.modules[extra]
        for p in m.__path__[1:]:
            modulefinder.AddPackagePath(extra, p)
except ImportError:
    # no build path setup, no worries.
    pass

from distutils.core import setup
import py2exe
# The rest of the setup file.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Py2exe ImportError:没有名为 shell 的模块 的相关文章

  • celery任务eta已关闭,使用rabbitmq

    我使用教程中的默认设置和在 ubuntu 上运行的rabbitmq 使 Celery 任务正常进行 当我毫不延迟地安排任务时 一切都很好 但是当我给他们一个预计时间时 他们会被安排在未来 就好像我的时钟在某个地方关闭了一样 下面是一些请求任
  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • 是否可以在 IPython 控制台中显示 pandas 样式?

    是否可以显示熊猫风格 https pandas pydata org pandas docs stable user guide style html在 iPython 控制台中 Jupyter 笔记本中的以下代码 import panda
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • caffe安装:opencv libpng16.so.16链接问题

    我正在尝试在 Ubuntu 14 04 机器上使用 python 接口编译 caffe 我已经安装了 Anaconda 和 opencvconda install opencv 我还安装了咖啡中规定的所有要求 并更改了注释块makefile
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • pandas 数据框的最大大小

    我正在尝试使用读取一个有点大的数据集pandas read csv or read stata功能 但我不断遇到Memory Errors 数据帧的最大大小是多少 我的理解是 只要数据适合内存 数据帧就应该没问题 这对我来说不应该是问题 还
  • 模块路径格式错误...第一个路径元素中缺少点

    我有一个包含 2 个不同可执行文件的项目 每个可执行文件都有自己的依赖项以及对根的共享依赖项 如下所示 Root gt server gt main go gt someOtherFiles go gt go mod gt go sum g
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • matplotlib vlines 图中未应用 y 轴的最小值

    我正在 matplotlib 中绘制 vlines 图 数据集中的所有 y 值如下 gt 0 我希望 y 轴最底部的刻度能够读取0 但相反 我得到 500 这是代码 usr bin env python import numpy as np
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 如何将Python包从旧版本安装到新版本?

    我正在使用 python 3 7 最近在 Linux 中安装了 python 3 8 是否有任何 bash 命令或脚本可以获取 3 7 的所有软件包列表并在 3 8 版本中一一安装 我想避免每个包裹都手工完成 注意 我将它们安装在我的系统中
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • gcc 相当于#pragma comment

    我正在尝试编写一个宏 使用 gcc 编译器向可执行文件添加注释 这不是为了链接目的 我只是想添加文字评论 gcc 中是否有用于此目的的 pragma comment 等效项 我不确定 向可执行文件添加注释 是什么意思 谁或什么会消费 展示甚
  • SIMD 的优先选择是始终摆脱分支吗?

    如果您正在编写一些将由另一个程序运行的 SIMD 代码 那么摆脱分支以提高性能是否总是有利的 我听说甚至做额外的操作只是为了避免if else语句等仍然快得多 我问这个是因为我做了一些分支 基本上是这样的 axis x 0 y 1 z 2
  • 从列表框用户表单中删除一行

    我有一个列表框 显示 Excel 工作表的行 我需要添加一个删除按钮来删除所选行 我试过这个 Private Sub CommandButton3 Click Dim i As Integer For i 0 To Range A65356
  • 如何从 PHP 中 var_dump 的输出创建数组?

    我怎样才能解析输出var dump在 PHP 中创建数组 Use 变量导出如果你想要一个也是有效 PHP 代码的表示 a array 1 2 array a b c dump var export a true echo dump 将显示
  • AVAudioPlayer 的 NSOSStatusErrorDomain 代码=-54

    AVAudioPlayer 在某些本地 MP3 文件上出现以下错误 Error Domain NSOSStatusErrorDomain Code 54 null 我正在将 zip 文件下载到 Documents 目录 然后使用名为的库解压
  • 从 NSMutableArray 中删除 for 循环中的对象

    我正在与一个UITableView对于作为数据源的数组中的每个对象UITableView 如果它们符合某个条件我就会删除它们if陈述 我的问题是它只删除数组中的所有其他对象 Code UIImage isCkDone UIImage ima
  • 为什么 C++ 中存在从指针到 bool 的隐式类型转换?

    考虑班级foo有两个这样定义的构造函数 class foo public foo const std string filename std cout lt lt ctor 1 lt lt std endl foo const bool s
  • 如何在 Android 上将 TTS 输出保存为音频文件?

    这是我在此的头一篇博文 我是 Android 编程新手 我想创建一个应用程序 可以将文本到语音的输出保存到音频文件中到我的数据库中 我听说过合成到文件 但事实并非如此 SynthesizeToFile 应该创建一个 wav 您可以解码并发送
  • 下拉菜单 - 使

    我有点疯狂地试图实现我的客户想要的东西 我可以告诉他们这是不可能的 但我喜欢挑战 基本上 我正在尝试做一个下拉菜单 其中下拉菜单 ul or ul menu li ul 被 div 包围 有点儿 ul class menu li a hre
  • Django get_object_or_404() 与 DateTimeField

    我现在正在读 Django by Example 一书 我在使用参数查找记录时遇到问题 我的代码如下所示 设置 py TIME ZONE Asia Seoul 模型 py published models DateTimeField def
  • 关闭所有打开视图控制器的单一函数

    我有一个应用程序 它是单视图应用程序 我有一个导航控制器链接到根视图控制器的所有子控制器 在每个子控制器中 我都有一个注销按钮 我想知道是否可以有一个可以调用的函数 该函数将关闭一路上打开的所有控制器 无论用户按下注销时当前打开哪个控制器
  • 如何从 Python 集合中随机选择 2 个项目? [复制]

    这个问题在这里已经有答案了 我目前有一个 n 大小的 Python 集 其中 n gt 0 是否有一个快速的 1 或 2 行 Python 解决方案可以做到这一点 例如 该集合将如下所示 fruits set apple orange wa
  • Java 线程中的“阻塞计数”和“等待计数”是什么意思?

    我使用 JConsole 来观看线程 它显示 name Thread 6 state BLOCKED sun misc Launcher AppClassLoader 19821f owner Thread 3 blocked Count
  • 由于“拒绝连接”,我无法使用 MySQL

    我正在尝试在 Windows XP 上运行 MySQL 的免安装版本 位于C mysql 在我的机器上 当我尝试连接到 MySQL 时 我在 PHP 文件中收到错误消息 无法连接 无法连接 因为目标机器主动拒绝 我已经编辑了配置文件my i
  • 未定义的属性: Illuminate\Database\Eloquent\Collection:: Laravel 5.2

    我试图让物联网显示订单中的商品 但我不断收到此错误 这些是我的模型 class westcoorder extends Model protected table westcoorders protected with westcoorde
  • 如何将线程函数的地址作为回调传递给winapi?

    我有一个简单的线程 在执行过程中我尝试使用线程中定义的函数之一的地址调用 EnumWindows 所以我试图这样做 EnumWindows cbEnumWindowsClickOK 0 其中 cbEnumWindowsClickOK 是在线
  • iOS 如何重新启动应用程序以更改语言 Swift 4

    我使用多语言应用程序 我想在配置文件用户中手动更改语言 我已经有 Localization string 如果我更改设备语言 应用程序中的语言将更改为 但我想从用户配置文件示例中手动更改语言 为此 我使用下一个代码 private func
  • 函数返回不可变引用,但借用检查器认为不然

    在这里 我将一些可变引用传递到函数中以对这些引用执行某些操作 然后 我通过将这些可变引用转变为不可变引用来删除它们 然而 Rust 借用检查器似乎仍然认为它们是可变的 这是代码 src lib rs fn append 1 to all s
  • XNA 中非常简单的菜单 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我和其他一些人正在创建一个游戏 我想添加一个非常简单的菜单 只有 开始 和 退出游戏 现在我已经下载了游戏状态管理示例 但这是一个非常长且复杂的代码
  • Py2exe ImportError:没有名为 shell 的模块

    我的代码是 from win32com shell import shellcon from win32com shell shell import ShellExecuteEx 它在 IDLE 中工作正常 但在我生成 exe 后出现错误