【问题标题】:Module not found after building python project by using pysinstaller使用 pysinstaller 构建 python 项目后找不到模块
【发布时间】:2021-09-20 14:59:18
【问题描述】:

我最近完成了一个我已经从事了一段时间的项目。我应该在课堂上运行在 linux 上的智能板上展示我的工作。考虑到我无法下载它的模块,因为我没有 sudo 权限,也没有互联网。所以为了解决这个问题,我决定使用 pyinstaller 构建它。在我的设备上似乎一切正常,但是当我再次检查虚拟框时,会弹出此错误。

Traceback (most recent call last):
  File "main.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
  File "matplotlib/__init__.py", line 923, in <module>
  File "matplotlib/__init__.py", line 608, in matplotlib_fname
RuntimeError: Could not find matplotlibrc file; your Matplotlib install is broken
[8025] Failed to execute script main

那么我该如何构建它,使其适用于所有设备而无需安装任何模块

【问题讨论】:

  • 大概matplotlib/__init__.py", line 608 正在尝试打开一个未捆绑到您的 exe 中的文件。尝试检查该代码以找出它在哪里寻找?假设你有 matplotlib 的源代码,你可以临时添加一些调试打印输出,以明确它假设哪个文件和哪个文件夹?然后看看您是否可以将此文件显式添加到您的 pyinstaller 构建中,请参阅文档pyinstaller.readthedocs.io/en/stable/…
  • 或者,只要稍微搜索一下 pyinstaller error matplotlibrc 就会找到这个stackoverflow.com/questions/62701684/…。请注意,您当然可以按照相同的思路进行更多搜索。
  • 如果您使用该答案,请不要忘记投票。

标签: python python-3.x linux ubuntu pyinstaller


【解决方案1】:

matplotlib 需要在 4 个特定位置之一中找到一个配置文件名 matplotlibrc,第一个是 courant 目录(请参阅https://matplotlib.org/tutorials/introductory/customizing.html#the-matplotlibrc-file)根据需要准备一个此文件,它可以通过添加 - 嵌入到 exe 中-添加数据=matplotlibrc;。到构建命令(对于非 Windows 系统,将 ; 替换为 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 2020-02-25
    • 2015-05-28
    相关资源
    最近更新 更多