pyinstaller错误:找不到scipy(没有名为_ufuncs_cxx的模块)

2024-02-07

我正在使用 pyinstaller 将 python 脚本转换为 Ubuntu (14.04) 中的二进制文件。我使用 Canopy (Enthought) 来管理所有 python 库。

该代码使用networkx、numpy 和scipy。这是我的规格文件:

# -*- mode: python -*-
a = Analysis(['main_test.py'],
             pathex=['/home/sean/Desktop/prog',],
             hiddenimports=[],
             hookspath=None,
             runtime_hooks=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='main_test',
          debug=False,
          strip=None,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=None,
               upx=True,
               name='main_test')

一开始我得到了错误:

ImportError: libmkl_gf.so: cannot open shared object file: 
    No such file or directory

然后我找到了.so库

/home/sean/Canopy/appdata/canopy-1.3.0.1715.rh5-x86/lib

我手动将几个 .so 文件复制到 dist 目录中。

但是,我得到了另一个错误:

  File "/home/sean/Enthought/Canopy_32bit/User/lib/python2.7/site-
        packages/PyInstaller/loader/pyi_importers.py", line 409, in load_module
        module = imp.load_module(fullname, fp, filename, self._c_ext_tuple)
  File "_ufuncs.pyx", line 1, in init scipy.special._ufuncs
        (scipy/special/_ufuncs.c:21824)
ImportError: No module named _ufuncs_cxx

我该如何修复这个错误?我应该如何修改规范文件来添加这些库和模块?

Edit:

我找到了解决方案。我现在的问题是:如何修改规范文件以添加 .so 库?现在我必须手动将一些 .so 文件复制到 dist 目录...

Edit2

事实证明我必须将其添加到COLLECT:

a.binaries + ["libmkl_gf.so" , 
  "/home/sean/Canopy/appdata/canopy-1.3.0.1715.rh5-x86/lib/libmkl_gf.so", 
  "binaries"]

有没有简单的方法可以找到隐藏的导入或库?

Thanks


我刚刚从解决问题中走出来。我必须使用 --hidden-import 标志指定缺少的模块。其中有很多缺失,但我注意到其中大部分来自 scipy.integrate。所以我指定:

pyinstaller --hidden-import=scipy.integrate --hidden-import=scipy.integrate.quadpack --hidden-import=scipy.integrate._vode bla bla bla bla -F --windowed myscript.py

痛苦,但有效

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

pyinstaller错误:找不到scipy(没有名为_ufuncs_cxx的模块) 的相关文章

随机推荐

  • Go 如何处理 Google App Engine 上的并发请求

    我对 Go 如何处理 Google App Engine 上的并发请求有点困惑 所以我希望有人能提供一些澄清 以下是我收集到的事实 Go 在 App Engine 上是单线程的 这是因为可以通过使用多个线程创建竞争条件来执行任意指针算术 h
  • 离子降低滚动速度

    我在尝试从此代码减慢滚动速度时遇到问题 ionicScrollDelegate getByHandle credit scrollBottom true 我怎样才能减慢滚动速度 因为现在它对我来说滚动得太快了 我需要放慢滚动速度 就像星球大
  • Python - 安装有扩展的远程 Webdriver

    我想使用以下命令在不同浏览器版本上测试一个扩展浏览器堆栈 http browserstack com 这是一个返回具有指定功能的驱动程序的函数 我有一个 crx file对于 Chrome 和 xpi file对于我本地计算机上的 Fire
  • 在屏幕上查找复合位置

    我正在 Java 中为 SWT 和 AWT 实现一个屏幕键盘 一件重要的事情是将键盘移动到可以显示所选文本字段的位置 并且不要位于屏幕键盘后面 对于 AWT 我可以检测当前选定组件的位置 Component owner KeyboardFo
  • 对有效的类型规则感到困惑

    我似乎再次错过了有关有效类型的一些难题 代码中的注释本质上是我的问题 但这是我能想到在适当的上下文中提出这个问题的唯一方法 include
  • 如何使用facet_grid或facet_wrap保持条的均匀厚度并切换条位置?

    我想用水平条形图显示数据并通过分组变量对其进行分面 因为我想要一个带有分面的水平图 所以我将使用geom barh来自ggstance包裹 我有一个数据集 其中我的观察结果被分为几种不同的类型和计数 像这样的事情 library tidyv
  • 导致Python的argparse执行默认操作

    我正在使用 argparse 的操作将各种数据添加到类中 如果命令行未提供该参数 我想对默认值使用该操作 这可能吗 谢谢 argparse不使用action当应用default 它只是使用setattr 它可能会使用type如果默认是字符串
  • 在PHP中按权重生成随机结果?

    我知道如何在 PHP 中生成随机数 但假设我想要一个 1 10 之间的随机数 但我想要更多的 3 4 5 然后是 8 9 10 这怎么可能 我会发布我尝试过的内容 但老实说 我什至不知道从哪里开始 基于 Allin 的answer http
  • 如何为子文档创建 mongoDb 模式

    我有如下文件 这里peoples包含指向用户集合的 ObjectId 数组 和contribution字段包含的子文档数量为peoples场地 长度是可变的 就像某个组有 2 个 ObjectId 一样people then contrib
  • 如何使 Plotly 图形动画工作

    你好 我正在尝试使用 Plotly v4 6 一切正常 我可以看到所有图表 除非我尝试从网站复制动画图表 import plotly express as px df px data gapminder px scatter df x gd
  • 如何将 wand.image.Image 转换为 PIL.Image?

    我花了一整天的时间来解决这个问题 但在堆栈溢出中没有看到答案 我尝试过这个但没有成功 gt gt pil image Image frombytes RGBA wand image size wand image make blob for
  • 无法解析:com.google.android:flexbox:1.1.0

    所以我正在尝试同步 android studio 项目 但 flexbox 始终无法解决 据我所知 所有相关的存储库都包含在内 我尝试了多个互联网连接 不涉及代理 但无济于事 我也尝试过不同版本的 Flexbox 这是我的应用程序 buil
  • 错误:PlatformNotSupportedException:不支持配置文件或 .NET Core 6 如何使用 SOAP .NET Framework wcf

    我有 Dot Net Framework 3 5 Web 服务 http www dneonline com calculator asmx http www dneonline com calculator asmx我想在 dot Net
  • 尝试从客户端访问 Node/Express 端点时出现 404 Not Found

    我有一个 Node js Express REST API 可供前端 React 应用程序访问 用于库存管理系统 用于车库销售 当尝试添加新产品时 我尝试访问 POST 路由http localhost 3001 api new 然而 当我
  • Symfony2:没有会话/控制器的区域设置切换器实现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 所以 3 5小时后似乎一切正常 两页
  • .dialog("close") 和 .dialog("destroy") 之间的区别

    有什么区别 dialog close and dialog destroy 在 jquery ui 中 我有一个以前的开发人员使用过的脚本 dialog destroy 但现在我必须在对话框关闭后执行一些操作 我找到了beforeclose
  • 我可以使用 Magento 的缓存层作为键/值存储吗?

    我可以使用 Magento 的缓存层作为类似于 memcached 或 apc 的键 值存储吗 很高兴能够不用担心正在使用什么缓存引擎并且仍然缓存一些代码 进一步说明 我希望 Magento 在我对其进行一些 JOINS 操作后缓存我的 C
  • 迁移错误:Gem:Module 的未定义方法“缓存”

    通过 Rails 应用程序迁移时出现此错误 Gem Module 的未定义方法 cache Am using 轨道 3 2 9 红宝石 1 8 7 乌班图12 04 rake db migrate trace home rajendran
  • 如何在 Swift 中为 UIView 子类编写自定义 init?

    说我想要init a UIView子类具有String and an Int 如果我只是子类化 我该如何在 Swift 中做到这一点UIView 如果我只是定制init 函数 但参数是一个 String 和一个 Int 它告诉我 在从初始化
  • pyinstaller错误:找不到scipy(没有名为_ufuncs_cxx的模块)

    我正在使用 pyinstaller 将 python 脚本转换为 Ubuntu 14 04 中的二进制文件 我使用 Canopy Enthought 来管理所有 python 库 该代码使用networkx numpy 和scipy 这是我