py2exe 未找到所有依赖项

2024-03-23

我正在尝试从 python 代码创建一个 exe。我可以从命令行很好地运行代码,如下所示:

python myScript.py

我从这里安装了 py2exe:http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/ http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/

并且,有一个如下所示的 setup.py:

from distutils.core import setup
import py2exe

setup(console=['myScript.py'])

并且,我像这样运行 setup.py:

python setup.py py2exe

我在输出中得到以下内容:

The following modules appear to be missing
['Carbon', 'Carbon.Files', '__pypy__', '_scproxy', 'http_parser.http', 'http_parser.reader', 'jinja2._debugsupport', 'jinja2._markupsafe._speedups',
'jinja2.debugrenderer', 'markupsafe', 'pretty', 'socketpool', 'socketpool.util']

果然,如果我尝试运行 exe,我会收到错误:

$ ./myScript.exe
Traceback (most recent call last):
  File "restkit\__init__.pyc", line 9, in <module>
  File "restkit\conn.pyc", line 14, in <module>
ImportError: No module named socketpool
Traceback (most recent call last):
  File "myScript.py", line 12, in <module>
ImportError: cannot import name Resource

我需要做什么才能让 py2exe 找到依赖项?

Thanks


Carbon是两个不同的 Mac 特定事物的名称。

首先,在 2.x 中,在 Mac OS X 和 Mac Classic 版本上,都有一个Carbon package http://docs.python.org/2/library/carbon.html在标准库中,用于调用 Carbon/Toolbox API(以及在 OS X 中的 CoreFoundation 等)。

其次,在 2.x 和 3.x 中,在 Mac OS X 上,使用 PyObjC,PyObjC 包装器Carbon.Framework被命名Carbon。 (PyObjC 不是 stdlib 的一部分,但它确实随 Apple 版本的 Python 一起提供,以及除了 python.org 的官方安装程序之外的大多数第三方版本。)

这些都不存在于 Windows 上。

py2exe尝试变得聪明,只导入与您的平台相关的内容。然而,这很容易被愚弄。例如,这样的事情:

try:
    import Carbon.Files
except:
    Carbon = collections.namedtuple('Carbon', 'Files')
    Carbon.Files = None

if Carbon.Files:
    Carbon.Files.whatever(…)

…可能会使py2exe think Carbon.Files是必须的。

现在,显然这不是你的全部问题,但这是一个非常大的危险信号py2exe的模块依赖代码不适用于您的项目。您可能对所有其他模块都有类似的问题,因此它既缺少您需要的一些东西,又要求您没有的一些东西,这可能是导致您实际问题的原因。

As the FAQ http://www.py2exe.org/index.cgi/FAQ解释说,您可以通过运行模块查找器代码来调试它,看看哪里出了问题,如下所示:

python -m py2exe.mf -d path/to/my_file.py

您可以使用此信息来指导模块查找器代码,或者重写您的代码,以免混淆py2exe.

或者,更简单地说,只需在您的文件中明确包含和排除模块setup.py作为一种解决方法,而不必担心为什么会错误地检测到它们。

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

py2exe 未找到所有依赖项 的相关文章

随机推荐

  • 进程资源不受 setrlimit 限制

    我编写了一个简单的程序 将其数据大小限制为 65Kb 并验证相同的情况 我分配了超过 65Kb 的虚拟内存 从逻辑上讲 如果我执行了所有正确的操作 如下所示 那么 malloc 调用应该会失败 不是吗 include
  • gcc(windows + MinGW) 是否在 inttypes.h 中定义了 SCNd8、SCNu8?

    include
  • 顺风旋转木马

    我想使用 Tailwind CSS 制作一个轮播 但我无法将一些纯 CSS 转换为顺风 CSS 如果无法将纯 CSS 转换为 tailwind CSS 请告诉我如何在我的 React 项目中添加该 CSS 我在用REACT 请帮我解决这个问
  • 如何在 Laravel 4 中构建带有子应用程序的平台?

    我需要开发几个具有共同功能和流程的网站 唯一会发生巨大变化的是CSS 甚至HTML也会通用 我在 Laravel 4 中组装这个结构时遇到了麻烦 因为我仍然是该框架的初学者 我需要有一个所有 子项目 都将继承的 超级项目 我需要能够在特定的
  • 如何通过Java执行cmd命令

    我正在尝试通过 Java 执行命令行参数 例如 Execute command String command cmd c start cmd exe Process child Runtime getRuntime exec command
  • WooCommerce 显示自定义列

    我想在 WooCommerce 后端显示一个附加列 在订单概述中 该列应包含我定义的自定义字段 交货日期 这个怎么做 如果有人仍然需要它 有关如何在 Woocommerce 订单列表中添加新列的说明 无需取消设置默认列 只需将其添加到您的f
  • 针对低内存使用情况,康威生命游戏的有效实现是什么?

    我正在寻找一种快速且节省内存的方法来实现康威的生命游戏 限制 96x128 板 大约 2kB 可用 RAM 和 52MHz 处理器 请参阅此处的技术规格 http www getinpulse com features http www g
  • 在Java中生成随机唯一的双精度值

    我需要一个 64 位浮点随机数的集合 并且它们应该是不同的 是否有为此的库例程 或者我应该手动搜索重复项 实际上 让数字不接近比一些非常小的常数 更重要 图书馆也有这样的例程吗 您可以使用streams为了那个原因 double array
  • 使用 Swift 构建 Cocoapod 并依赖于 Objective-C 框架

    我知道这里已经有一些关于这个主题的问题 但很少有人接受答案 而且我认为我没有找到与我完全相同的问题 我正在构建一个 Swift pod 在我的代码中我依赖于 Google Maps iOS SDK 它捆绑为 framework文件 该项目在
  • 如何将受邀用户与邀请人的公司/群组关联起来?

    我正在使用 Django django allauth 和 django invitations 我能够成功邀请用户加入该平台 但我想将他们与邀请者的公司关联起来 我已经阅读了 bee keeper django invitations 但
  • 我可以使用 Apache-Poi 将 Excel 电子表格格式化为流模式下的表格吗

    A regular spreadsheet tab in Excel can be made into a table by selecting the data and ctrl T This gives each column a he
  • 如何检测 Horizo​​ntalScrollView 内的视图何时接触另一个视图?

    所以我试图创建像滚动视图一样的 iMovie 我想在滚动视图内的图像触摸白线时得到回调 这样我就可以更改大图像 我怎样才能做到这一点 这个解决方案对我有用 也是我在对 Horizo ntalScrollView 的选项进行长期研究后能够找到
  • 龙卷风只能升级到websocket错误

    我正在使用龙卷风进行实时应用 我正在为此使用 Redis 当我访问网址时127 0 0 1 8888 2 其中 2 是我的用户 ID 我收到错误消息can Upgrade only to websocket 我不知道为什么我会收到此错误 这
  • 处理“javax/xml/XMLConstants.class”时出现问题

    我正在启动一个新的 Android 项目 该项目引用了一个第三方 JAR 而该第三方 JAR 又引用了其他 4 个 JAR ws commons java5 1 0 1 jar ws commons util 1 0 2 jar xmlrp
  • as3 AIR for android - 应用程序沙箱内容错误

    目标 我试图允许外部加载的 swf 文件与从设备本地加载的文件相互通信 我需要能够访问变量 函数和对象 我在从网上加载 swf 内容时已经实现了这一点 as3 从网络外部加载的swf 控制从网络外部加载的swf https stackove
  • 如何在 Spark 中从文本文件创建 DataFrame

    我在 HDFS 上有一个文本文件 我想将其转换为 Spark 中的数据帧 我正在使用 Spark 上下文加载文件 然后尝试从该文件生成各个列 val myFile sc textFile file txt val myFile1 myFil
  • PHP PDO 数据库错误特殊字符

    我已经阅读了有关这种情况的大部分问题和答案 但我无法解决我的性格问题 我的数据库的默认字符集是utf8 所有表的排序规则是utf8 general ci 我确信所有设置都是 utf8 和 utf8 general ci 因为我已经检查了它们
  • 春天有像温莎城堡里的@predestroy 这样的东西吗

    任何类似的东西 PreDestroy在弹簧框架中 如果您定义了一个实现 DisposableBean 接口的 bean 那么 Spring 将调用 void destroy throws Exception 销毁 Bean 之前的方法 这是
  • Python 3 中未解决的全局变量引用

    所以 我不知道为什么 但我在以下函数中收到来自 Pycharm 的 未解析的引用 警告 它们的共同点是运算中也使用了赋值变量 我不明白为什么这行不通 对于警告的内容有什么想法吗 我确实读过这个线程 PyCharm 中未解决的参考问题 htt
  • py2exe 未找到所有依赖项

    我正在尝试从 python 代码创建一个 exe 我可以从命令行很好地运行代码 如下所示 python myScript py 我从这里安装了 py2exe http sourceforge net projects py2exe file